c# - 模糊输入系统.反射
问题描述
通过 system.reflection 解析方法时出现错误:
System.Reflection.AmbiguousMatchException
typeof(Graphics).GetMethod("DrawRectangle").Invoke(g, new object[] {
Pens.Red, new Rectangle(200, 200, 100, 50)
});
但是当我通过编译器解析它时它工作得很好
g.DrawRectangle(Pens.Red, new Rectangle(200,200,100,50));
有没有办法指定我要调用的方法?
解决方案
Graphics.DrawRectangle有 3 种不同的重载,因此仅通过名称无法找到具体的重载,您可以在调用GetMethod
中指定所需重载的参数类型:GetMethod
typeof(Graphics).GetMethod("DrawRectangle", new[] {typeof(Pen), typeof(Rectangle)})
推荐阅读
- spring-boot - Grails 4:独立端口
- fluentui-react - Microsoft Fluent UI Northstar 中的断点
- pine-script - 扩展绘图功能
- java - 使用 java、spring boot、h2 登录会话。如何实施?
- python - Seaborn Heatmap - 仅当值高于给定阈值时才显示热图
- java - SwitchAccess 兼容的虚拟视图节点的深层树层次结构
- javascript - 将 Map 对象打印到数组中
- java - 更改 java 中文件的可访问性以避免安全错误
- javascript - Geolocation API 可用且已启用,但不提供坐标
- c# - 如何以编程方式创建自解压档案?