次の方法で共有


SiteIdentityPermission.Copy メソッド

現在のアクセス許可のコピーを作成して返します。

Overrides Public Function Copy() As IPermission Implements _   IPermission.Copy
[C#]
public override IPermission Copy();
[C++]
public: IPermission* Copy();
[JScript]
public override function Copy() : IPermission;

戻り値

現在のアクセス許可のコピー。

実装

IPermission.Copy

解説

アクセス許可のコピーは、リソースに対して、元のアクセス許可と同じアクセス権または同じサイト ID を表します。

使用例

 
'Copy creates and returns an identical copy of the current permission.
Private Function CopyDemo() As Boolean

    Dim returnCodeCode As Boolean = True

    Dim site1 As [String]
    Dim siteIdPerm1, siteIdPerm2 As SiteIdentityPermission
    Dim successFlag As Boolean

    Dim siteGen1 As New SiteGenerator()
    Dim siteGen2 As New SiteGenerator()

    siteGen1.ResetIndex()
    While siteGen1.CreateSite(siteIdPerm1, site1, successFlag)
        If siteIdPerm1 Is Nothing Or successFlag = False Then
            GoTo ContinueWhile1
        End If
        siteGen2.ResetIndex()
        Console.WriteLine("**************************************************************************")
        Try
            siteIdPerm2 = CType(siteIdPerm1.Copy(), SiteIdentityPermission)
            If Not (siteIdPerm2 Is Nothing) Then
                Console.WriteLine(("The copy of " & siteIdPerm2.ToString() & " succeeded." & ControlChars.Lf))
            End If

        Catch e As Exception
            Console.WriteLine(("The copy failed : " & siteIdPerm1.ToString() & e.ToString()))
            GoTo ContinueWhile1
        End Try
ContinueWhile1:
    End While
    Return returnCodeCode
End Function 'CopyDemo


[C#] 
//Copy creates and returns an identical copy of the current permission.
private bool CopyDemo()
{

    bool returnCodeCode = true;

    String site1;
    SiteIdentityPermission siteIdPerm1,siteIdPerm2;
    bool successFlag;

    SiteGenerator siteGen1 = new SiteGenerator();
    SiteGenerator siteGen2 = new SiteGenerator();

    siteGen1.ResetIndex();
    while(siteGen1.CreateSite(out siteIdPerm1, out site1, out successFlag)) 
    {
        if(siteIdPerm1 == null | successFlag == false) continue;
        siteGen2.ResetIndex();
        Console.WriteLine("**************************************************************************");
        try{            
            siteIdPerm2 = (SiteIdentityPermission)siteIdPerm1.Copy();
            if (siteIdPerm2 != null )
            {
                Console.WriteLine("The copy of " + siteIdPerm2.ToString() + " succeeded.\n");
            }

        }
        catch(Exception e) 
        {
            Console.WriteLine("The copy failed : " + siteIdPerm1.ToString() + e);
            continue;
        }
    }
    return returnCodeCode;

}

[C++] 
//Copy creates and returns an identical copy of the current permission.
bool CopyDemo() {

   bool returnCodeCode = true;

   String* site1;
   SiteIdentityPermission* siteIdPerm1, *siteIdPerm2;
   bool successFlag;

   SiteGenerator* siteGen1 = new SiteGenerator();
   SiteGenerator* siteGen2 = new SiteGenerator();

   siteGen1->ResetIndex();
   while(siteGen1->CreateSite(&siteIdPerm1, &site1, &successFlag)) {
      if (siteIdPerm1 == 0 || successFlag == false) continue;
      siteGen2->ResetIndex();
      Console::WriteLine(S"**************************************************************************");
      try {
         siteIdPerm2 = dynamic_cast<SiteIdentityPermission*>(siteIdPerm1->Copy());
         if (siteIdPerm2 != 0) {
            Console::WriteLine(S"The copy of {0} succeeded.\n", siteIdPerm2);
         }

      } catch (Exception* e) {
         Console::WriteLine(S"The copy failed : {0}{1}", siteIdPerm1, e);
         continue;
      }
   }
   return returnCodeCode;

}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

SiteIdentityPermission クラス | SiteIdentityPermission メンバ | System.Security.Permissions 名前空間