【发布时间】:2013-09-13 04:17:37
【问题描述】:
我在一个类中有很多静态方法,我想获取某个方法是否在类X中,如果是,我想调用它。我检查了这个:
if (Type.GetType("Homework.Homework.Functions").GetMethod(methodName) == null)
{
Console.WriteLine("No such method.\nPress any key to restart the program");
Console.ReadKey();
Console.Clear();
Main();
return;
}
else
Type.GetType("Homework.Homework.Functions").GetMethod(methodName).Invoke(null, parametersArray); // Invoking the method.
但它给了我一个 System.NullReferenceException 与 if() 在它的行。
节目的开始:
namespace Homework
{
class Homework
{
static void Main()
{
类声明:
public class Functions
{
我可能应该说 Functions 类在 Homework 类中。
我该如何解决这个错误?
谢谢。
【问题讨论】:
-
请展示一个简短但完整的程序来说明问题。另请注意,声明一个与其命名空间同名的类是一个非常糟糕的主意——公共嵌套类型通常也不是一个好主意。
-
为什么不直接使用
typeof(Homework.Homework.Functions)?