Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 动态及;对象构造函数info.Invoke(对象[]参数)_C# - Fatal编程技术网

C# 动态及;对象构造函数info.Invoke(对象[]参数)

C# 动态及;对象构造函数info.Invoke(对象[]参数),c#,C#,我得到这个错误 Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:“对象”不包含“A”的定义 我不清楚 Invoke方法返回object,因此tob的类型被检测为一个对象。我该如何解决这个问题? 顺便说一下,在Schildt的书中,所有人都做了类似的事情 dynamic tob = ci.Invoke(new object[]{10,"hello"}); Console.WriteLine(tob.A()); 如果不知道什么类ci来自哪

我得到这个错误

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:“对象”不包含“A”的定义

我不清楚

Invoke
方法返回
object
,因此tob的类型被检测为一个对象。我该如何解决这个问题? 顺便说一下,在Schildt的书中,所有人都做了类似的事情

dynamic tob = ci.Invoke(new object[]{10,"hello"});
Console.WriteLine(tob.A());

如果不知道什么类
ci
来自哪个类,很难判断什么可能是错误的,但是
ConstructorInfo.invoke
返回类型
对象
,但您可以将其强制转换为任何实际类型,如:

var tob = (MyClass)(ci.Invoke(new object[]{10,"hello"}));

这是假设无论来自哪个类
ci
,实际上都有一个名为
a

的公共方法,我不知道这里要问什么。至少尝试格式化它,使其可读。这个问题是一堆乱七八糟的东西。你会在+。。。。。。。。。。。。。。。。。。。。。。。。。。没什么帮助。此外,删除俄语文本和格式,并尽可能改进英语部分。