小编典典

如何检查对象是否具有某些方法/属性?

all

也许使用动态模式?您可以使用 dynamic 关键字调用任何方法/属性,对吗?例如,如何在调用 myDynamicObject.DoStuff()
之前检查该方法是否存在?


阅读 44

收藏
2022-08-16

共1个答案

小编典典

你可以写这样的东西:

public static bool HasMethod(this object objectToCheck, string methodName)
{
    var type = objectToCheck.GetType();
    return type.GetMethod(methodName) != null;
}

编辑:你甚至可以做一个扩展方法并像这样使用它

myObject.HasMethod("SomeMethod");
2022-08-16