Newtonsoft.Json.Utilities.ReflectionUtils
namespace Newtonsoft.Json.Utilities
{
internal static class ReflectionUtils
{
public static readonly Type[] EmptyTypes;
public static bool IsVirtual(this PropertyInfo propertyInfo);
public static MethodInfo GetBaseDefinition(this PropertyInfo propertyInfo);
public static bool IsPublic(PropertyInfo property);
public static Type GetObjectType(object v);
public static string GetTypeName(Type t, TypeNameAssemblyFormatHandling assemblyFormat, ISerializationBinder binder);
public static bool HasDefaultConstructor(Type t, bool nonPublic);
public static ConstructorInfo GetDefaultConstructor(Type t);
public static ConstructorInfo GetDefaultConstructor(Type t, bool nonPublic);
public static bool IsNullable(Type t);
public static bool IsNullableType(Type t);
public static Type EnsureNotNullableType(Type t);
public static Type EnsureNotByRefType(Type t);
public static bool IsGenericDefinition(Type type, Type genericInterfaceDefinition);
public static bool ImplementsGenericDefinition(Type type, Type genericInterfaceDefinition);
public static bool ImplementsGenericDefinition(Type type, Type genericInterfaceDefinition, out Type implementingType);
public static bool InheritsGenericDefinition(Type type, Type genericClassDefinition);
public static bool InheritsGenericDefinition(Type type, Type genericClassDefinition, out Type implementingType);
public static Type GetCollectionItemType(Type type);
public static void GetDictionaryKeyValueTypes(Type dictionaryType, out Type keyType, out Type valueType);
public static Type GetMemberUnderlyingType(MemberInfo member);
public static bool IsByRefLikeType(Type type);
public static bool IsIndexedProperty(PropertyInfo property);
public static object GetMemberValue(MemberInfo member, object target);
public static void SetMemberValue(MemberInfo member, object target, object value);
public static bool CanReadMemberValue(MemberInfo member, bool nonPublic);
public static bool CanSetMemberValue(MemberInfo member, bool nonPublic, bool canSetReadOnly);
public static List<MemberInfo> GetFieldsAndProperties(Type type, BindingFlags bindingAttr);
public static T GetAttribute<T>(object attributeProvider) where T : Attribute;
public static T GetAttribute<T>(object attributeProvider, bool inherit) where T : Attribute;
public static T[] GetAttributes<T>(object attributeProvider, bool inherit) where T : Attribute;
public static Attribute[] GetAttributes(object provider, Type attributeType, bool inherit);
public static StructMultiKey<string, string> SplitFullyQualifiedTypeName(string fullyQualifiedTypeName);
public static MemberInfo GetMemberInfoFromType(Type targetType, MemberInfo memberInfo);
public static IEnumerable<FieldInfo> GetFields(Type targetType, BindingFlags bindingAttr);
public static IEnumerable<PropertyInfo> GetProperties(Type targetType, BindingFlags bindingAttr);
public static BindingFlags RemoveFlag(this BindingFlags bindingAttr, BindingFlags flag);
public static bool IsMethodOverridden(Type currentType, Type methodDeclaringType, string method);
public static object GetDefaultValue(Type type);
}
}