0

我想知道是否有任何类可以生成 MethodBase/MethodInfo,或者只是生成方法名称,而不使用“魔术字符串”。现在我正在做以下事情:

public void Foo(MethodInfo method)
{
    if (String.Equals("get_IsBar", method.Name, StringComparison.Ordinal))
    {
        // ...
    }
}

相反,我想知道是否有某种方法可以从接口中获取名称“get_IsBar”,如下所示:

public interface IBar
{
    bool IsBar { get; }
}

public void Foo(MethodInfo method)
{
    string barMethodName = GetBarGetterMethodName(typeof(IBar), "IsBar");
    if (String.Equals(barMethodName, method.Name, StringComparison.Ordinal))
    {
        // ...
    }
}

我意识到那里仍然有一个“魔术字符串”,但至少它更易于管理。

4

1 回答 1

1

用途:GetGetMethod()_PropertyInfo

typeof(IBar).GetProperty("IsBar").GetGetMethod().Name
于 2013-05-18T13:56:12.140 回答