# Microsoft.Extensions.Logging.Abstractions ``` diff { - namespace Microsoft.Extensions.Logging.Abstractions.Internal { { - public class NullScope : IDisposable { { - public static NullScope Instance { get; } - public void Dispose(); - } - public class TypeNameHelper { { - public TypeNameHelper(); - public static string GetTypeDisplayName(Type type); - } - } - namespace Microsoft.Extensions.Logging.Internal { { - public class FormattedLogValues : IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyList> { { - public FormattedLogValues(string format, params object[] values); - public int Count { get; } - public KeyValuePair this[int index] { get; } - public IEnumerator> GetEnumerator(); - IEnumerator System.Collections.IEnumerable.GetEnumerator(); - public override string ToString(); - } - public class LogValuesFormatter { { - public LogValuesFormatter(string format); - public string OriginalFormat { get; private set; } - public List ValueNames { get; } - public string Format(object[] values); - public KeyValuePair GetValue(object[] values, int index); - public IEnumerable> GetValues(object[] values); - } - } } ```