读书人

请问一个放射的有关问题。关于动态创建

发布时间: 2012-02-03 22:02:47 作者: rapoo

请教一个放射的问题。。。关于动态创建数组类新的问题。
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}

[解决办法]
Arraya = 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的例子

读书人网 >C#

热点推荐