gpt4 book ai didi

c# - 反射获取方法。选择更具体的方法

转载 作者:IT王子 更新时间:2023-10-29 04:47:22 25 4
gpt4 key购买 nike

我想获取该方法,但有不止一个重载。例如在对象中我试图获得“等于”。使用时

    public virtual bool Equals(object obj);
public static bool Equals(object objA, object objB);

typeof(Object).GetMethod("Equals") 给我一个异常(exception),写 typeof(Object).GetMethod("public virtual bool Equals(object obj)") 让我为空。在这种情况下,我该如何指定我想要的方法?

最佳答案

使用one of the overloads允许您指定参数类型。

例如:

var staticMethod = typeof(Object).GetMethod("Equals",
BindingFlags.Static | BindingFlags.Public,
null,
new Type[] { typeof(object), typeof(object) },
null);

var instanceMethod = typeof(Object).GetMethod("Equals",
BindingFlags.Instance | BindingFlags.Public,
null,
new Type[] { typeof(object) },
null);

或者:

var staticMethod = typeof(Object).GetMethod("Equals",
new Type[] { typeof(object), typeof(object) });

var instanceMethod = typeof(Object).GetMethod("Equals",
new Type[] { typeof(object) });

关于c# - 反射获取方法。选择更具体的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4365168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com