【发布时间】:2012-07-17 19:41:35
【问题描述】:
我的自定义 MembershipProvider 中有这段代码:
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
{
if (config == null)
throw new ArgumentNullException("config");
if (name == null)
name = "MyCustomMembershipProvider";
...
}
Resharper 标记了第二个 if 语句并告诉我,它总是会评估为 false。
但是为什么这总是评估为假?我可以轻松地将 null 作为参数传递给方法。
这是一个错误还是 Resharper 就在这里?
PS 1:我使用 Resharper 6.1
PS 2:我知道使用 string.IsNullOrEmpty() 无论如何都是去这里的方式。我只是好奇。
【问题讨论】:
-
您的课程来自哪个课程?是您的一份还是 .NET 框架的一份?
-
那是你的完整代码吗?我正在使用 ReSharper 6.1,但没有收到该指示。
-
我来自 MembershipProvider(在 System.Web.Security 中)
-
ProviderBase.Initialize当name为null时也会抛出ArgumentNullException(如果为空则抛出ArgumentException)。所以我认为 Resharper 知道这一点,并认为孩子不应该限制较少。
标签: c# .net string resharper membership-provider