在 VS2010 beta(以前版本的 FxCop)中运行代码分析后,我收到以下警告:
In externally visible method 'Identity.Identity(WindowsIdentity)', validate parameter 'windowsIdentity' before using it.
构造函数是:
public Identity(WindowsIdentity windowsIdentity)
: base(windowsIdentity.Token)
{
init();
}
对于定义为的类:
public class Identity : WindowsIdentity
我的问题是,如何验证 windowsIdentity 参数?我应该在构造函数中验证它并抛出异常,还是有更好的调用方法?
最佳答案
您可以在静态方法中验证它:
public Identity(WindowsIdentity windowsIdentity)
: base(GetToken(windowsIdentity))
{
init();
}
static Token GetToken(WindowsIdentity ident)
{
if(ident == null)
throw new ArgumentNullException("ident");
return ident.Token;
}
(我没有费心去寻找 WindowsIdentity.Token 的类型,但你明白了)
关于c# - 验证 C# 基类构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1923909/