|
|
1
7
您必须使用反射读取接口的字段、方法和属性,然后检查类是否有这些字段、方法和属性(同样使用反射) 或者,如果您使用的是C#4,您可以忘记IJerry,将MyClass放在一个动态变量中,然后在运行时C#发现它有被调用的方法。 |
|
2
2
实现一个接口的意义远不止这些。首先,实现方法是虚拟的,即使您不使用该关键字。事实上,你不能用那个关键字。另一方面,编译器重新排列方法以匹配接口的方法表布局。正在从声明中删除继承的接口 放心 使结果不相容。这些方法将不再是虚拟的。 你所追求的是所谓的“动态调度”。在DLR中实现并集成到.NET 4.0和C#4.0语言中。重新发明系统反射编码并使其高效是一项重大任务。 |
|
|
3
1
您必须使用反射来查看x是否有与IJerry上的方法匹配的方法。真正的问题是,你打算怎么处理这个答案?在版本4之前,C#不支持“duck typing”,因此为了在需要IJerry的地方使用类,您必须编写适配器代码。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |