请教一个放射的问题。。。关于动态创建数组类新的问题。
public class TradeItemDocumentType
{
public EntityIdentificationType[] tradeItemDocumentIdentification;
public TradeItemType[] tradeItem;
public ExtensionType[] extension;
public int[] count;
public string[] name;
}
//枚举类型
public enum ExtensionType
{
ACOUSTO_MAGNETIC_EAS_TAG,
ELECTRO_MAGNETIC_EAS_TAG,
INK_OR_DYE_EAS_TAG,
MICROWAVE_EAS_TAG,
RADIO_FREQUENCY_EAS_TAG,
}
请问大家怎么利用放射动态的创建TradeItemDocumentType类新的实例
并且把TradeItemDocumentType里面的对象都实例化。。。
------解决方案--------------------try
oldobj.InvokeMember( "myProperty ",BindingFlags.SetField, null, this , new Object[] {a}
------解决方案--------------------Array a = Array.CreateInstance(temp,1);
object otemp1 = System.Activator.CreateInstance(temp);
t.InvokeMember(fi.Name,BindingFlags.SetField, null, o, new Object[]{a});
---------------------------------------------
改成:
Array a = Array.CreateInstance(temp.GetElementType(), 1);
object otemp1 = System.Activator.CreateInstance(temp.GetElementType());
a.SetValue(otemp1, 0);
fi.SetValue(o,a);
------解决方案--------------------基于类型的动态生成至少有三种基本技术
1 Reflect 反射
2 Emit 反射发出、放射
3 CodeDom 代码生成
------解决方案--------------------各楼都给出了反射的例子。
却没有Emit的例子