是否可以从扩展方法

时间:2017-08-03 12:03:27

标签: c# extension-methods

让我们说我有这个方法将字符串作为扩展参数:

private static List<string> ValidationErrors = new List<string>();

private static void ErrorCheck<T>(this string str)
{
    if (string.IsNullOrEmpty(str))
    {
        // This just returns "str"                                                                    
        // Instead of property name (see "How I use" section")
        ValidationErrors.Add(typeof(T).Namespace + "[" + nameof(str) + "]");
    }
}

这就是我使用它的方式:

Car.Color.ErrorCheck<Car>();

Car对象的颜色只是字符串属性。所以我想要的是获得&#34; Color&#34;而不是&#34; str&#34;在我的扩展方法中。

我是如何实现这一目标的?

1 个答案:

答案 0 :(得分:2)

不可能。 C#有几个选择: