Definition at line 1168 of file CodeGenerator.cs.
1169 {
1171 {
1172 return;
1173 }
1174 if (target.IsValueType)
1175 {
1177 {
1180 {
1181 throw new CodeGeneratorConversionException(
source, target,
isAddress,
"NoConversionPossibleTo");
1182 }
1184 return;
1185 }
1186 if (!
source.IsAssignableFrom(target))
1187 {
1188 throw new CodeGeneratorConversionException(
source, target,
isAddress,
"IsNotAssignableFrom");
1189 }
1192 {
1194 }
1195 }
1196 else if (target.IsAssignableFrom(
source))
1197 {
1199 {
1201 {
1203 }
1205 }
1206 }
1207 else if (
source.IsAssignableFrom(target))
1208 {
1210 }
1211 else
1212 {
1213 if (!target.IsInterface && !
source.IsInterface)
1214 {
1215 throw new CodeGeneratorConversionException(
source, target,
isAddress,
"IsNotAssignableFrom");
1216 }
1218 }
1219 }
virtual void Emit(OpCode opcode)
static readonly OpCode Nop
OpCode GetConvOpCode(TypeCode typeCode)
References System.Xml.Serialization.CodeGenerator._ilGen, System.Reflection.Emit.Box, System.Reflection.Emit.Castclass, System.Reflection.Emit.ILGenerator.Emit(), System.Xml.Serialization.CodeGenerator.GetConvOpCode(), System.Type.GetTypeCode(), System.Type.IsAssignableFrom(), System.Type.IsInterface, System.Type.IsValueType, System.Reflection.Emit.Ldobj, System.Reflection.Emit.OpCodes.Nop, System.source, and System.Reflection.Emit.Unbox.
Referenced by System.Xml.Serialization.CodeGenerator.ConvertAddress(), and System.Xml.Serialization.CodeGenerator.ConvertValue().