- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我有一个类型要传递给该方法时,我试图通过反射找到最合适的调用方法。
让我担心的极端情况是使用相同数量的参数重载,如下所示:
class UserClass {}
class UserClassB : UserClass {}
class SomeClass {
void method(object x);
void method(UserClass x);
}
在运行时我有兴趣调用方法
,而我手头的类型是UserClassB
。
最合适的是method(UserClass)
。
问题是当使用 typeof(SomeClass).GetMethod("method", new Type[] { typeof(UserClass2) }));
时它会返回一个 null,因为我认为它根据传递的类型的精确匹配进行搜索。
有什么想法吗?谢谢。
最佳答案
您缺少绑定(bind)标志。使用可以传递以下标志的重载:
BindingFlags.实例 | BindingFlags.NonPublic
您得到的是 null,因为 GetMethod 将寻找公共(public)方法,除非您指定您也需要非公共(public)方法。
var method = typeof(SomeClass).GetMethod("method", BindingFlags.Instance | BindingFlags.NonPublic, null, new[] { typeof(UserClass) },null);
关于c# 反射查找重载方法 wr 到继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11541600/
当我有一个类型要传递给该方法时,我试图通过反射找到最合适的调用方法。 让我担心的极端情况是使用相同数量的参数重载,如下所示: class UserClass {} class UserClassB :
我正在尝试将 16:9 或 9:16 纵横比约束应用于 UIImageView取决于设备方向,但是由于wR hR = hR wR,对于这种情况,通过约束变化来识别方向是不可能的。 . 如何处理这个问题
我正在使用来自 W3.CSS 链接的基本 html/css 模板 here 有一个显示图像的部门是这样的: 和点击放大图像的javascript ×
我的 UI 中有 TextField,并且我已经为 wC x hR 和 wR x hR 给出了动态高度(使用 Storyboard),现在当我向以编程方式输入文本字段 textField.layer.
我正在使用优秀的 DDay.iCal从 Google 日历读取 iCal 文件。 每个 iCal 文件都有一个 X-WR-CALNAME 的非标准属性。 如何将它添加到 DDay.iCal.iCale
我正在尝试使用 StackExchange.Redis 客户端将 90 KB pdf 文件保存到 Azure Redis 缓存中。我已将该文件转换为字节数组并尝试使用 stringSet 方法保存它并
我是一名优秀的程序员,十分优秀!