也许使用动态模式?您可以使用 dynamic 关键字调用任何方法/属性,对吗?例如,如何在调用 myDynamicObject.DoStuff() 之前检查该方法是否存在?
你可以写这样的东西:
public static bool HasMethod(this object objectToCheck, string methodName) { var type = objectToCheck.GetType(); return type.GetMethod(methodName) != null; }
编辑:你甚至可以做一个扩展方法并像这样使用它
myObject.HasMethod("SomeMethod");