2017-08-10 15 views
-2

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);" "Unsigned Local Variableの使用"エラーが発生しました。 このエラーを解決するにはどうすればよいですか? 任意のヘルプが告知されます

+1

誤差はかなり自明です、あなたはそれを修正するために何を試してみましたか? – DavidG

+0

'GPPermissionCollection gppc;'あなたは新しいインスタンスなどを作成していないと宣言しました。 '=新しいGPPermissionCollection()'が見つかりませんでしたか? – Matt

+1

@DavidG GPPermissionCollectionコンストラクタがありません.i GPPermissionCollectionオブジェクトを初期化する方法がわかりません。 –

答えて

3

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

このコード行は非常にシンプルで簡単ですが、多くの助けになりました。ありがとうございました。 –

関連する問題