103 _writer.
Write(
string.
Format(
CultureInfo.
InvariantCulture,
"\r\n sealed class XSFieldInfo {{\r\n {3} fieldInfo;\r\n public XSFieldInfo({2} t, {1} memberName){{\r\n fieldInfo = t.GetField(memberName);\r\n }}\r\n public {0} this[{0} o] {{\r\n get {{\r\n return fieldInfo.GetValue(o);\r\n }}\r\n set {{\r\n fieldInfo.SetValue(o, value);\r\n }}\r\n }}\r\n\r\n }}\r\n sealed class XSPropInfo {{\r\n {4} propInfo;\r\n public XSPropInfo({2} t, {1} memberName){{\r\n propInfo = t.GetProperty(memberName);\r\n }}\r\n public {0} this[{0} o] {{\r\n get {{\r\n return propInfo.GetValue(o, null);\r\n }}\r\n set {{\r\n propInfo.SetValue(o, value, null);\r\n }}\r\n }}\r\n }}\r\n sealed class XSArrayInfo {{\r\n {4} propInfo;\r\n public XSArrayInfo({4} propInfo){{\r\n this.propInfo = propInfo;\r\n }}\r\n public {0} this[{0} a, int i] {{\r\n get {{\r\n return propInfo.GetValue(a, new {0}[]{{i}});\r\n }}\r\n set {{\r\n propInfo.SetValue(a, value, new {0}[]{{i}});\r\n }}\r\n }}\r\n }}\r\n",
"object",
"string",
typeof(
Type).
FullName,
typeof(
FieldInfo).
FullName,
typeof(
PropertyInfo).
FullName));
138 for (
int j = 0;
j < fields.Length;
j++)
160 else if (!
typeDesc.IsPrivateImplementation)
188 for (
int i = 0; i < member.Length; i++)
294 for (
int i = 0; i <
args.Length; i++)
362 return "[" +
obj +
"]";
413 if (
cast !=
null &&
cast.Length > 0)
436 if (
arg ==
null ||
arg.Length == 0)
568 foreach (
char c
in value)
virtual void Add(object key, object? value)
static CultureInfo InvariantCulture
static char ToCharUpper(int value)
static string XmlSerializerUnsupportedType
static string Format(string resourceFormat, object p1)
static void CheckValidIdentifier([NotNull] string ident)
static string MakeValidInternal(string identifier)
static string GetCSharpName(string name)
static string GetName(Assembly a)
void WriteArrayLocalDecl(string typeName, string variableName, string initValue, TypeDesc arrayTypeDesc)
string WriteAssemblyInfo(Type type)
void WriteEnumCase(string fullTypeName, ConstantMapping c, bool useReflection)
string GetStringForTypeof(string typeFullName, bool useReflection)
string GetStringForMethod(string obj, string typeFullName, string memberName, bool useReflection)
string WriteMemberInfo([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.PublicFields|DynamicallyAccessedMemberTypes.PublicNestedTypes|DynamicallyAccessedMemberTypes.PublicProperties|DynamicallyAccessedMemberTypes.PublicEvents)] Type type, string escapedName, string typeVariable, string memberName)
void WriteCreateInstance(string escapedName, string source, bool useReflection, bool ctorInaccessible)
string GetStringForCreateInstance(string escapedTypeName, bool useReflection, bool ctorInaccessible, bool cast)
int _nextReflectionVariableNumber
static void WriteQuotedCSharpString(IndentedWriter writer, string value)
void WriteLocalDecl(string typeFullName, string variableName, string initValue, bool useReflection)
void WriteCollectionInfo(string typeVariable, TypeDesc typeDesc, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.PublicFields|DynamicallyAccessedMemberTypes.PublicNestedTypes|DynamicallyAccessedMemberTypes.PublicProperties|DynamicallyAccessedMemberTypes.PublicEvents)] Type type)
string WriteDefaultIndexerInit([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.PublicFields|DynamicallyAccessedMemberTypes.PublicNestedTypes|DynamicallyAccessedMemberTypes.PublicProperties|DynamicallyAccessedMemberTypes.PublicEvents)] Type type, string escapedName, bool collectionUseReflection, bool elementUseReflection)
string WriteTypeInfo(TypeScope scope, TypeDesc typeDesc, Type type)
string GetStringForEnumMember(string typeFullName, string memberName, bool useReflection)
string WriteMethodInfo(string escapedName, string typeVariable, string memberName, bool isNonPublic, params string[] paramTypes)
void WriteTypeCompare(string variable, string escapedTypeName, bool useReflection)
string GetStringForEnumLongValue(string variable, bool useReflection)
string GenerateVariableName(string prefix, string fullName)
string GetStringForEnumCompare(EnumMapping mapping, string memberName, bool useReflection)
void WriteQuotedCSharpString(string value)
void WriteInstanceOf(string source, string escapedTypeName, bool useReflection)
void WriteReflectionInit(TypeScope scope)
ReflectionAwareCodeGen(IndentedWriter writer)
readonly IndentedWriter _writer
string GetStringForMethodInvoke(string obj, string escapedTypeName, string methodName, bool useReflection, params string[] args)
Hashtable _reflectionVariables
string GetStringForCreateInstance(string escapedTypeName, bool useReflection, bool ctorInaccessible, bool cast, string arg)
string GetStringForArrayMember(string arrayName, string subscript, TypeDesc arrayTypeDesc)
string GetStringForCreateInstance(string type, string cast, bool nonPublic, string arg)
string GetStringForMember(string obj, string memberName, TypeDesc typeDesc)
void WriteArrayTypeCompare(string variable, string escapedTypeName, string elementTypeName, bool useReflection)
string GetReflectionVariable(string typeFullName, string memberName)
void WriteMappingInfo(TypeMapping mapping, string typeVariable, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.PublicFields|DynamicallyAccessedMemberTypes.PublicNestedTypes|DynamicallyAccessedMemberTypes.PublicProperties|DynamicallyAccessedMemberTypes.PublicEvents)] Type type)
TypeDesc ArrayElementTypeDesc
Type GetTypeFromTypeDesc(TypeDesc typeDesc)
static PropertyInfo GetDefaultIndexer([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.PublicFields|DynamicallyAccessedMemberTypes.PublicNestedTypes|DynamicallyAccessedMemberTypes.PublicProperties|DynamicallyAccessedMemberTypes.PublicEvents)] Type type, string memberInfo)
TypeMapping GetTypeMappingFromTypeDesc(TypeDesc typeDesc)
TypeDesc GetTypeDesc(string name, string ns)
DynamicallyAccessedMemberTypes
static ? Type GetUnderlyingType(Type nullableType)