在VS2010 beta版(以前版本的FxCop)中运行代码分析后,出现以下警告:
构造函数是:
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的类型,但是您知道了)