1

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

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 无济于事。

有任何想法吗?

4

1 回答 1

5

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

if (aStringObject.IsNullEmptyOrWhiteSpace())

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

于 2013-08-23T21:27:35.360 回答