当前位置:编程学习 > C#/ASP.NET >>

C# 反射 异常处理

我在用反射实例话是遇到了个问题,就是我所反射的那个类里有自定义的某个类属性,并且初期实例话了,就会报出异常错误: TargetInvocationException,贴个具体实例

public class Test
{
    public static void Main(string[] atgs)
    {
        Assembly.getExecutingAssembly().createInstance(typeof(T).FullName);    }
}
public class T1
{
    public int age = 24;
    public string name = "cshap";
    public T2 t2 = new T2();
}

public class T2
{
  public string sex = "man";
}

红色地方会报错,取大神指教,最好能给出解决方案!本人已思考3小时,无头绪。 --------------------编程问答-------------------- 完全没有看到红色,难道我突然间色盲了? --------------------编程问答-------------------- 晕,主函数里的字体是用来变红的,貌似没用,大家过滤掉,直接看
Assembly.getExecutingAssembly().createInstance(typeof(T).FullName); --------------------编程问答--------------------
引用 1 楼 yuwenge 的回复:
完全没有看到红色,难道我突然间色盲了?

我的错,不太会用,能给出点实质性回复不? --------------------编程问答--------------------
引用 楼主 u012593946 的回复:
我在用反射实例话是遇到了个问题,就是我所反射的那个类里有自定义的某个类属性,并且初期实例话了,就会报出异常错误: TargetInvocationException,贴个具体实例

public class Test
{
    public static void Main(string[] atgs)
    {
        Assembly.getExecutingAssembly().createInstance(typeof(T).FullName);    }
}
public class T1
{
    public int age = 24;
    public string name = "cshap";
    public T2 t2 = new T2();
}

public class T2
{
  public string sex = "man";
}

红色地方会报错,取大神指教,最好能给出解决方案!本人已思考3小时,无头绪。


TypeName  需要 命名空间+类名 --------------------编程问答--------------------
引用 4 楼 yyantifa 的回复:
TypeName  需要 命名空间+类名


这个有的,FullName就是取得这个,关键是那个加载T2出错了 --------------------编程问答--------------------
引用 5 楼 u012593946 的回复:
Quote: 引用 4 楼 yyantifa 的回复:


TypeName  需要 命名空间+类名


这个有的,FullName就是取得这个,关键是那个加载T2出错了


弱弱的问一句,typeof(T)  这个T是哪里来的?? --------------------编程问答--------------------
引用 6 楼 yyantifa 的回复:
Quote: 引用 5 楼 u012593946 的回复:

Quote: 引用 4 楼 yyantifa 的回复:


TypeName  需要 命名空间+类名


这个有的,FullName就是取得这个,关键是那个加载T2出错了


弱弱的问一句,typeof(T)  这个T是哪里来的??

弱弱的回一句,Typeof(T) 其实是我写错了 应该把T改成T1 --------------------编程问答-------------------- 有点小问题,这样就行了:
object obj = Assembly.GetExecutingAssembly().CreateInstance(typeof(T1).FullName); --------------------编程问答-------------------- 现在就是发现一个新情况,就是如果T2这个类,如果不写构造方法的话,就没有问题,一旦我写了构造方法,程序就报错, TargetInvocationException
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,