C#,使用无符号的局部变量

问题描述:

GPPermissionCollection类没有构造函数,我不知道如何声明它的对象或使用它。C#,使用无符号的局部变量

GPDomain domain = new GPDomain(sDCName + "." + sDCExtention); 
Gpo gpo_background = domain.CreateGpo("August-HCalendarGPO"); 

GPPermission gp = new GPPermission("Everyone", GPPermissionType.GpoEditDeleteModifySecurity, false) ; 
GPPermissionCollection gppc; 
gppc.Add(gp); //This Line Has Error 
gpo_background.SetSecurityInfo(gppc); 

“gppc.Add(gp);”有错误“使用未签名的本地变量”。 如何解决这个错误? 任何帮助将被称为

+1

的错误是相当自我解释,你尝试过什么解决? – DavidG

+0

'GPPermissionCollection gppc;'你刚刚声明它没有创建一个新的实例或任何东西。缺少'= new GPPermissionCollection()'? – Matt

+1

@DavidG GPPermissionCollection没有constructor.i不知道如何初始化GPPermissionCollection对象。 –

您不能创建GPPermissionCollection的实例,因为它的构造函数是internal。你需要通过GetSecurityInfo()充分利用您的GPO该集合:

GPDomain domain = new GPDomain(sDCName + "." + sDCExtention); 
Gpo gpo_background = domain.CreateGpo("August-HCalendarGPO"); 

GPPermission gp = new GPPermission("Everyone", GPPermissionType.GpoEditDeleteModifySecurity, false) ; 

// get permissions collection from gpo 
GPPermissionCollection gppc = gpo_background.GetSecurityInfo(); 

gppc.Add(gp); 
gpo_background.SetSecurityInfo(gppc); 
+0

它对我来说很好! –

+0

即使这行代码对你来说非常简单而且容易,但它对我有很大的帮助。非常感谢你。 –