C#扩展方法未定义

时间:2013-08-23 21:25:34

标签: c# .net-4.0 extension-methods

我有一个非常基本的扩展方法:

namespace PHPImport
{
    public static class StringExtensionMethods
    {
        public static bool IsNullEmptyOrWhiteSpace(this string theString)
        {
            string trimmed = theString.Trim();

            if (trimmed == "\0")
                return true;

            if (theString != null)
            {
                foreach (char c in theString)
                {
                    if (Char.IsWhiteSpace(c) == false)
                        return false;
                }
            }

            return true;
        }
    }
}

我正在尝试在相同的项目中使用它(单独的.cs文件),在同一名称空间中,我收到'string' does not contain a definition for 'IsNullEmptyOrWhiteSpace'错误。

namespace PHPImport
{
    class AClassName: AnInterface
    {
        private void SomeMethod()
        {
             if (string.IsNullEmptyOrWhiteSpace(aStringObject)) { ... }
        }
    }
}

我尝试过重建/清理解决方案,并重新启动visual studio无济于事。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

由于您将此作为扩展方法,因此需要将其命名为:

if (aStringObject.IsNullEmptyOrWhiteSpace())

它将“扩展”用于字符串实例,它不会向String类添加新的静态方法,这将由您当前的调用语法建议。