Tag: dynamictype

动态类型创建中的MethodBuilder.CreateMethodBody()问题

对于实验,我试图从源类型读取方法体(使用GetILAsByteArray() )并将其添加到新类型(使用CreateMethodBody() )。 我的源类就是这个 public class FullClass { public string Test(string data) { return data; } public string Test2(string data) { return data; } public string Test5(string data, string data1) { return data + data1; } } 为此代码生成的IL(使用reflection器拍摄) .method public hidebysig instance string Test(string data) cil managed { .maxstack 1 .locals init ( [0] string […]

动态参数使编译器认为方法返回是动态的

如果我有一个动态参数,编译器似乎抛弃了返回类型并认为它是动态的。 例如: public MethodResult IsValid(object userLogin) { return new MethodResult(); } 你会认为: var isValidResult = IsValid(someObject()); 应该读作 dynamic -> MethodResult 但它认为它是: dynamic -> dynamic 向签名添加动态参数是否完全阻止编译器知道返回应该是什么,尽管返回是强类型的?