evidenceとは? わかりやすく解説

Evidence クラス

セキュリティ ポリシーアクセス許可決定するときに使用する一連の情報定義します。このクラス継承できません。

名前空間: System.Security.Policy
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 Evidence
    Implements ICollection, IEnumerable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class Evidence : ICollection,
 IEnumerable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class Evidence sealed : ICollection,
 IEnumerable
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class Evidence implements ICollection,
 IEnumerable
SerializableAttribute 
ComVisibleAttribute(true) 
public final class Evidence implements ICollection,
 IEnumerable
解説解説

一般的な形式証拠には、署名や、コード発生源である場所などが含まれますが、どのような情報含めてかまいませんセキュリティ ポリシーによって認識される任意の型のオブジェクト証拠表します

セキュリティ ポリシーは、コード グループ構成されます。アセンブリセキュリティ アクセス許可付与されるコード基本単位ですが、コード グループメンバシップ条件満たしている場合に、そのコード グループメンバなります証拠とは、ポリシー渡される一連の情報であり、アセンブリ属しているコード グループ判断するためにメンバシップ条件によって使用されます。

Evidence クラスは、証拠を表すオブジェクト セット格納しているコレクション (ICollection のトピック参照) です。このクラスには、証拠提供元 (ホストおよびアセンブリ) に対応する 2 つ証拠セット格納されます。

ポリシーは、コード与えアクセス許可評価するときに、2 つ異な提供元から証拠取得できます

使用例使用例

ホストおよびアセンブリ提供する 2 つ証拠使用して新しEvidence クラス作成する方法次のコード例示します

Imports System
Imports System.Collections
Imports System.Security
Imports System.Security.Policy
Imports System.Security.Permissions
Imports System.Globalization
Imports Microsoft.VisualBasic



Public Class Evidence_Example

    Public Function CreateEvidence() As
 Boolean
        Dim retVal As Boolean
 = True

        Try
            ' Create empty evidence using the default contructor.
            Dim ev1 As New
 Evidence
            Console.WriteLine("Created empty evidence with the
 default constructor.")

            ' Constructor used to create null host evidence.
            Dim ev2a As New
 Evidence(Nothing)
            Console.WriteLine("Created an Evidence object with
 null host evidence.")

            ' Constructor used to create host evidence.
            Dim url As New
 Url("http://www.treyresearch.com")
            Console.WriteLine(("Adding host evidence "
 & url.ToString()))
            ev2a.AddHost(url)
            Dim ev2b As New
 Evidence(ev2a)
            Console.WriteLine("Copy evidence into new evidence")
            Dim enum1 As IEnumerator = ev2b.GetHostEnumerator()
            enum1.MoveNext()
            Console.WriteLine(enum1.Current.ToString())
            ' Constructor used to create both host and assembly evidence.
            Dim oa1() As [Object]
            Dim site As New
 Site("www.wideworldimporters.com")
            Dim oa2 As [Object]() = {url, site}
            Dim ev3a As New
 Evidence(oa1, oa2)
            enum1 = ev3a.GetHostEnumerator()
            Dim enum2 As IEnumerator = ev3a.GetAssemblyEnumerator()
            enum2.MoveNext()
            Dim obj1 As [Object] = enum2.Current
            enum2.MoveNext()
            Console.WriteLine(("URL = " & obj1.ToString()
 & "  Site = " & enum2.Current.ToString()))
            ' Constructor used to create null host and null assembly
 evidence.
            Dim ev3b As New
 Evidence(Nothing, Nothing)
            Console.WriteLine("Create new evidence with null host
 and assembly evidence")

        Catch e As Exception
            Console.WriteLine("Fatal error: {0}",
 e.ToString())
            Return False
        End Try

        Return retVal
    End Function 'CreateEvidence

    Public Function DemonstrateEvidenceMembers()
 As Evidence
        Dim myEvidence As New
 Evidence
        Dim sPubKeyBlob As String
 = "00240000048000009400000006020000" & "00240000525341310004000001000100"
 & "19390E945A40FB5730204A25FA5DC4DA" & "B18688B412CB0EDB87A6EFC50E2796C9" & "B41AD3040A7E46E4A02516C598678636"
 & "44A0F74C39B7AB9C38C01F10AF4A5752" & "BFBCDF7E6DD826676AD031E7BCE63393" & "495BAD2CA4BE03B529A73C95E5B06BE7" & "35CA0F622C63E8F54171BD73E4C8F193" & "CB2664163719CA41F8159B8AC88F8CD3"
        Dim pubkey As [Byte]() = HexsToArray(sPubKeyBlob)

        ' Create a strong name.
        Dim mSN As New StrongName(New
 StrongNamePublicKeyBlob(pubkey), "SN01", New
 Version("0.0.0.0"))

        ' Create assembly and host evidence.
        Console.WriteLine("Adding assembly evidence.")
        myEvidence.AddAssembly("SN01")
        myEvidence.AddAssembly(New Version("0.0.0.0"))
        myEvidence.AddAssembly(mSN)
        Console.WriteLine(("Count of evidence items = "
 & myEvidence.Count.ToString()))
        Dim url As New Url("http://www.treyresearch.com")
        Console.WriteLine(("Adding host evidence "
 & url.ToString()))
        myEvidence.AddHost(url)
        PrintEvidence(myEvidence).ToString()
        Console.WriteLine(("Count of evidence items = "
 & myEvidence.Count.ToString()))
        Console.WriteLine(ControlChars.Lf & "Copy the evidence
 to an array using CopyTo, then display the array.")
        Dim evidenceArray(myEvidence.Count - 1) As
 Object
        myEvidence.CopyTo(evidenceArray, 0)
        Dim obj As Object
        For Each obj In
 evidenceArray
            Console.WriteLine(obj.ToString())
        Next obj
        Console.WriteLine(ControlChars.Lf & "Display the contents
 of the properties.")
        Console.WriteLine("Locked is the only property normally
 used by code.")
        Console.WriteLine("IsReadOnly, IsSynchronized, and SyncRoot
 properties are not normally used.")
        Console.WriteLine((ControlChars.Lf & "The default
 value for the Locked property = " & myEvidence.Locked.ToString()))
        Console.WriteLine(ControlChars.Lf & "Get the hashcode
 for the evidence.")
        Console.WriteLine(("HashCode = " & myEvidence.GetHashCode().ToString()))
        Console.WriteLine(ControlChars.Lf & "Get the type
 for the evidence.")
        Console.WriteLine(("Type = " & myEvidence.GetType().ToString()))
        Console.WriteLine(ControlChars.Lf & "Merge new evidence
 with the current evidence.")
        Dim oa1() As [Object]
        Dim site As New
 Site("www.wideworldimporters.com")
        Dim oa2 As [Object]() = {url, site}
        Dim newEvidence As New
 Evidence(oa1, oa2)
        myEvidence.Merge(newEvidence)

        Console.WriteLine(("Evidence count = " &
 PrintEvidence(myEvidence).ToString()))
        Console.WriteLine(ControlChars.Lf & "Remove URL evidence.")
        myEvidence.RemoveType(url.GetType())
        Console.WriteLine(("Evidence count is now: "
 & myEvidence.Count.ToString()))
        Console.WriteLine(ControlChars.Lf & "Make a copy of
 the current evidence.")
        Dim evidenceCopy As New
 Evidence(myEvidence)
        Console.WriteLine(("Count of new evidence items = "
 & evidenceCopy.Count.ToString()))
        Console.WriteLine(("Does the copy equal the current evidence?
 " & myEvidence.Equals(evidenceCopy)))
        Console.WriteLine(ControlChars.Lf & "Clear the current
 evidence.")
        myEvidence.Clear()
        Console.WriteLine(("Count is now " & myEvidence.Count.ToString()))
        Return myEvidence
    End Function 'DemonstrateEvidenceMembers

    Public Shared Function
 PrintEvidence(ByVal myEvidence As Evidence)
 As Integer
        Dim p As Integer
 = 0
        Console.WriteLine(ControlChars.Lf & "Current evidence
 = ")
        If myEvidence Is Nothing
 Then
            Return 0
        End If
        Dim list As IEnumerator = myEvidence.GetEnumerator()
        Dim obj As Object
        While list.MoveNext()
            Console.WriteLine(list.Current.ToString())
            p = p + 1
        End While
        Console.WriteLine(ControlChars.Lf)
        Return p
    End Function 'PrintEvidence

    ' Convert a hexidecimal string to an array.
    Public Shared Function
 HexsToArray(ByVal sHexString As String)
 As Byte()
        Dim array(sHexString.Length / 2) As
 [Byte]
        Dim i As Integer
        For i = 0 To sHexString.Length - 2
 Step 2
            array((i / 2)) = [Byte].Parse(sHexString.Substring(i, 2), NumberStyles.HexNumber)
        Next i
        Return array
    End Function 'HexsToArray




    ' Main method.
    Public Shared Sub Main()
        Try
            Dim EvidenceTest As New
 Evidence_Example
            Dim ret As Boolean
 = EvidenceTest.CreateEvidence()
            If ret Then
                Console.WriteLine("Evidence successfully created.")
            Else
                Console.WriteLine("Evidence creation failed.")
            End If

            EvidenceTest.DemonstrateEvidenceMembers()
        Catch e As Exception
            Console.WriteLine(e.ToString())
            Environment.ExitCode = 101
        End Try
    End Sub 'Main
End Class 'Evidence_Example
using System;
using System.Collections;
using System.Security;
using System.Security.Policy;
using System.Security.Permissions;
using System.Globalization;

public class Evidence_Example
{
    public bool CreateEvidence()
    {
        bool retVal = true;

        try
        {
            // Create empty evidence using the default contructor.
            Evidence ev1 = new Evidence();
            Console.WriteLine("Created empty evidence with the default
 constructor.");

            // Constructor used to create null host evidence.
            Evidence ev2a = new Evidence(null);
            Console.WriteLine("Created an Evidence object with null
 host evidence.");

            // Constructor used to create host evidence.
            Url url = new Url("http://www.treyresearch.com");
            Console.WriteLine("Adding host evidence " + url.ToString());
            ev2a.AddHost(url);
            Evidence ev2b = new Evidence(ev2a);
            Console.WriteLine("Copy evidence into new evidence");
            IEnumerator enum1 = ev2b.GetHostEnumerator();
            enum1.MoveNext();
            Console.WriteLine(enum1.Current.ToString());
            
            // Constructor used to create both host and assembly evidence.
            Object [] oa1 = {};
            Site site = new Site("www.wideworldimporters.com");
            Object [] oa2 = { url, site };
            Evidence ev3a = new Evidence(oa1, oa2);
            enum1 = ev3a.GetHostEnumerator();
            IEnumerator enum2 = ev3a.GetAssemblyEnumerator();
            enum2.MoveNext();
            Object obj1 = enum2.Current;
            enum2.MoveNext();
            Console.WriteLine("URL = " + obj1.ToString() + "  Site
 = " + enum2.Current.ToString());
            
            // Constructor used to create null host and null assembly
 evidence.
            Evidence ev3b = new Evidence(null,
 null);
            Console.WriteLine("Create new evidence with null
 host and assembly evidence");
            
        }
        catch (Exception e)
        {
            Console.WriteLine("Fatal error: {0}", e.ToString());
            return false;
        }

        return retVal;
    }
    public Evidence DemonstrateEvidenceMembers()
    {
        Evidence myEvidence = new Evidence();
        string sPubKeyBlob =    "00240000048000009400000006020000"
 + 
            "00240000525341310004000001000100" + 
            "19390E945A40FB5730204A25FA5DC4DA" + 
            "B18688B412CB0EDB87A6EFC50E2796C9" + 
            "B41AD3040A7E46E4A02516C598678636" + 
            "44A0F74C39B7AB9C38C01F10AF4A5752" + 
            "BFBCDF7E6DD826676AD031E7BCE63393" + 
            "495BAD2CA4BE03B529A73C95E5B06BE7" + 
            "35CA0F622C63E8F54171BD73E4C8F193" + 
            "CB2664163719CA41F8159B8AC88F8CD3";
        Byte[] pubkey = HexsToArray(sPubKeyBlob);

        // Create a strong name.
        StrongName mSN = new StrongName(new
 StrongNamePublicKeyBlob(pubkey), "SN01", new Version("0.0.0.0"));

        // Create assembly and host evidence.
        Console.WriteLine("Adding assembly evidence.");
        myEvidence.AddAssembly("SN01");
        myEvidence.AddAssembly(new Version("0.0.0.0"));
        myEvidence.AddAssembly(mSN);
        Console.WriteLine("Count of evidence items = " + myEvidence.Count.ToString());
        Url url = new Url("http://www.treyresearch.com");
        Console.WriteLine("Adding host evidence " + url.ToString());
        myEvidence.AddHost(url);
        PrintEvidence(myEvidence).ToString();
        Console.WriteLine("Count of evidence items = " + myEvidence.Count.ToString());
        Console.WriteLine("\nCopy the evidence to an array using
 CopyTo, then display the array.");
        object[] evidenceArray = new object[myEvidence.Count];
        myEvidence.CopyTo(evidenceArray, 0);
        foreach (object obj in evidenceArray)
        {
            Console.WriteLine(obj.ToString());
        }
        Console.WriteLine("\nDisplay the contents of the properties.");
        Console.WriteLine("Locked is the only property normally used by code.");
        Console.WriteLine("IsReadOnly, IsSynchronized, and SyncRoot properties
 are not normally used.");
        Console.WriteLine("\nThe default value for
 the Locked property = " + myEvidence.Locked.ToString());
        
        Console.WriteLine("\nGet the hashcode for the evidence.");
        Console.WriteLine("HashCode = " + myEvidence.GetHashCode().ToString());
        Console.WriteLine("\nGet the type for the evidence.");
        Console.WriteLine("Type = " + myEvidence.GetType().ToString());
        Console.WriteLine("\nMerge new evidence with the
 current evidence.");
        Object [] oa1 = {};
        Site site = new Site("www.wideworldimporters.com");
        Object [] oa2 = { url, site };
        Evidence newEvidence = new Evidence(oa1, oa2);
        myEvidence.Merge(newEvidence);
        Console.WriteLine("Evidence count = " + PrintEvidence(myEvidence).ToString());
        Console.WriteLine("\nRemove URL evidence.");
        myEvidence.RemoveType(url.GetType());
        Console.WriteLine("Evidence count is now: " + myEvidence.Count.ToString());
        Console.WriteLine("\nMake a copy of the current evidence.");
        Evidence evidenceCopy = new Evidence(myEvidence);
        Console.WriteLine("Count of new evidence items =
 " + evidenceCopy.Count);
        Console.WriteLine("Does the copy equal the current evidence? "
 + myEvidence.Equals(evidenceCopy));
        Console.WriteLine("\nClear the current evidence.");
        myEvidence.Clear();
        Console.WriteLine("Count is now " + myEvidence.Count.ToString());
        return myEvidence;
    }
    public static int PrintEvidence(Evidence
 myEvidence)
    {
        int p = 0;
        Console.WriteLine("\nCurrent evidence = ");
        if (null == myEvidence) return
 0;
        IEnumerator list = myEvidence.GetEnumerator();
        while (list.MoveNext())
        {
            Console.WriteLine(list.Current.ToString());
        }

        Console.WriteLine("\n");
        return p;
    }
    // Convert a hexidecimal string to an array.
    public static byte[] HexsToArray(string
 sHexString)
    {
        Byte[] array = new Byte[sHexString.Length/2];
        for (int i = 0; i < sHexString.Length;
 i += 2)
        {
            array[i / 2] = Byte.Parse(sHexString.Substring(i, 2), NumberStyles.HexNumber);
        }
        return array;
    }



    // Main method.
    public static void Main()
    {
        try
        {
            Evidence_Example EvidenceTest = new Evidence_Example();
            bool ret = EvidenceTest.CreateEvidence();
            if (ret)
            {
                Console.WriteLine("Evidence successfully created.");
            }
            else
            {
                Console.WriteLine("Evidence creation failed.");
            }
            
            EvidenceTest.DemonstrateEvidenceMembers();
        }
        catch(Exception e)
        {
    
            Console.WriteLine(e.ToString());
            Environment.ExitCode = 101;
        }
    }
}
using namespace System;
using namespace System::Collections;
using namespace System::Security;
using namespace System::Security::Policy;
using namespace System::Security::Permissions;
using namespace System::Globalization;
public ref class Evidence_Example
{
public:
   bool CreateEvidence()
   {
      bool retVal = true;
      try
      {
         // Create empty evidence using the default contructor.
         Evidence^ ev1 = gcnew Evidence;
         Console::WriteLine( "Created empty evidence with the default
 constructor." );

         // Constructor used to create null host evidence.
         Evidence^ ev2a = gcnew Evidence( nullptr );
         Console::WriteLine( "Created an Evidence object with null
 host evidence." );

         // Constructor used to create host evidence.
         Url^ url = gcnew Url( "http://www.treyresearch.com"
 );
         Console::WriteLine( "Adding host evidence {0}", url );
         ev2a->AddHost( url );
         Evidence^ ev2b = gcnew Evidence( ev2a );
         Console::WriteLine( "Copy evidence into new evidence"
 );
         IEnumerator^ enum1 = ev2b->GetHostEnumerator();
         enum1->MoveNext();
         Console::WriteLine( enum1->Current );

         // Constructor used to create both host and assembly evidence.
         array<Object^>^oa1 = {};
         Site^ site = gcnew Site( "www.wideworldimporters.com" );
         array<Object^>^oa2 = {url,site};
         Evidence^ ev3a = gcnew Evidence( oa1,oa2 );
         enum1 = ev3a->GetHostEnumerator();
         IEnumerator^ enum2 = ev3a->GetAssemblyEnumerator();
         enum2->MoveNext();
         Object^ obj1 = enum2->Current;
         enum2->MoveNext();
         Console::WriteLine( "URL = {0}  Site = {1}", obj1, enum2->Current
 );
         
         // Constructor used to create null host and null assembly evidence.
         Evidence^ ev3b = gcnew Evidence( nullptr,nullptr );
         Console::WriteLine( "Create new evidence with null
 host and assembly evidence" );
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "Fatal error: {0}", e );
         return false;
      }

      return retVal;
   }

   Evidence^ DemonstrateEvidenceMembers()
   {
      Evidence^ myEvidence = gcnew Evidence;
      String^ sPubKeyBlob = "00240000048000009400000006020000"
      "00240000525341310004000001000100"
      "19390E945A40FB5730204A25FA5DC4DA"
      "B18688B412CB0EDB87A6EFC50E2796C9"
      "B41AD3040A7E46E4A02516C598678636"
      "44A0F74C39B7AB9C38C01F10AF4A5752"
      "BFBCDF7E6DD826676AD031E7BCE63393"
      "495BAD2CA4BE03B529A73C95E5B06BE7"
      "35CA0F622C63E8F54171BD73E4C8F193"
      "CB2664163719CA41F8159B8AC88F8CD3";
      array<Byte>^pubkey = HexsToArray( sPubKeyBlob );

      // Create a strong name.
      StrongName^ mSN = gcnew StrongName( gcnew StrongNamePublicKeyBlob( pubkey ),"SN01",gcnew
 Version( "0.0.0.0" ) );

      // Create assembly and host evidence.
      Console::WriteLine( "Adding assembly evidence." );
      myEvidence->AddAssembly( "SN01" );
      myEvidence->AddAssembly( gcnew Version( "0.0.0.0" ) );
      myEvidence->AddAssembly( mSN );
      Console::WriteLine( "Count of evidence items = {0}", myEvidence->Count
 );

      Url^ url = gcnew Url( "http://www.treyresearch.com"
 );
      Console::WriteLine( "Adding host evidence {0}", url );
      myEvidence->AddHost( url );
      PrintEvidence( myEvidence ).ToString();
      Console::WriteLine( "Count of evidence items = {0}", myEvidence->Count
 );

      Console::WriteLine( "\nCopy the evidence to an array using
 CopyTo, then display the array." );
      array<Object^>^evidenceArray = gcnew array<Object^>(myEvidence->Count);
      myEvidence->CopyTo( evidenceArray, 0 );
      for each (Object^ obj in evidenceArray)
      {
         Console::WriteLine(obj->ToString());
      }

      Console::WriteLine( "\nDisplay the contents of the properties." );
      Console::WriteLine( "Locked is the only property normally used by code."
 );
      Console::WriteLine( "IsReadOnly, IsSynchronized, and SyncRoot properties
 are not normally used." );
      
      Console::WriteLine( "\nThe default value for
 the Locked property = {0}", myEvidence->Locked );

      Console::WriteLine( "\nGet the hashcode for the evidence."
 );
      Console::WriteLine( "HashCode = {0}", myEvidence->GetHashCode()
 );

      Console::WriteLine( "\nGet the type for the evidence."
 );
      Console::WriteLine( "Type = {0}", myEvidence->GetType() );

      Console::WriteLine( "\nMerge new evidence with the
 current evidence." );
      array<Object^>^oa1 = {};
      Site^ site = gcnew Site( "www.wideworldimporters.com" );
      array<Object^>^oa2 = {url,site};
      Evidence^ newEvidence = gcnew Evidence( oa1,oa2 );
      myEvidence->Merge( newEvidence );
      Console::WriteLine( "Evidence count = {0}", PrintEvidence( myEvidence
 ) );

      Console::WriteLine( "\nRemove URL evidence." );
      myEvidence->RemoveType( url->GetType() );
      Console::WriteLine( "Evidence count is now: {0}", myEvidence->Count
 );

      Console::WriteLine( "\nMake a copy of the current evidence." );
      Evidence^ evidenceCopy = gcnew Evidence( myEvidence );
      Console::WriteLine( "Count of new evidence items =
 {0}", evidenceCopy->Count );
      Console::WriteLine( "Does the copy equal the current evidence? {0}",
 myEvidence->Equals( evidenceCopy ) );

      Console::WriteLine( "\nClear the current evidence." );
      myEvidence->Clear();
      Console::WriteLine( "Count is now {0}", myEvidence->Count );

      return myEvidence;
   }

   static int PrintEvidence( Evidence^ myEvidence
 )
   {
      int p = 0;
      Console::WriteLine( "\nCurrent evidence = " );
      if ( nullptr == myEvidence )
            return 0;

      IEnumerator^ list = myEvidence->GetEnumerator();
      IEnumerator^ myEnum1 = list;
      while ( myEnum1->MoveNext() )
      {
         Object^ obj = safe_cast<Object^>(myEnum1->Current);
         Console::WriteLine( obj );
         p++;
      }

      Console::WriteLine( "\n" );
      return p;
   }

   // Convert a hexadecimal string to an array.
   static array<Byte>^ HexsToArray( String^ sHexString )
   {
      array<Byte>^arr = gcnew array<Byte>(sHexString->Length / 2);
      for ( int i = 0; i < sHexString->Length;
 i += 2 )
      {
         arr[ i / 2 ] = Byte::Parse( sHexString->Substring( i, 2 ), NumberStyles::HexNumber
 );

      }
      return arr;
   }
};


// Main method.
int main()
{
   try
   {
      Evidence_Example^ EvidenceTest = gcnew Evidence_Example;
      bool ret = EvidenceTest->CreateEvidence();
      if ( ret )
      {
         Console::WriteLine( "Evidence successfully created." );
      }
      else
      {
         Console::WriteLine( "Evidence creation failed." );
      }
      EvidenceTest->DemonstrateEvidenceMembers();
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( e );
      Environment::ExitCode = 101;
   }
}
import System.*;
import System.Collections.*;
import System.Security.*;
import System.Security.Policy.*;
import System.Security.Permissions.*;
import System.Globalization.*;
import System.Byte;

public class EvidenceExample
{
    public boolean CreateEvidence()
    {
        boolean retVal = true;

        try {
            // Create empty evidence using the default contructor.
            Evidence ev1 = new Evidence();
            Console.WriteLine("Created empty evidence with the " 
                + " default constructor.");

            // Constructor used to create null host evidence.
            Evidence ev2a = new Evidence(null);
            Console.WriteLine("Created an Evidence object with " 
                + " null host evidence.");

            // Constructor used to create host evidence.
            Url url = new Url("http://www.treyresearch.com");
            Console.WriteLine(("Adding host evidence " + url.ToString()));
            ev2a.AddHost(url);
            Evidence ev2b = new Evidence(ev2a);
            Console.WriteLine("Copy evidence into new evidence");

            IEnumerator enum1 = ev2b.GetHostEnumerator();
            enum1.MoveNext();
            Console.WriteLine(enum1.get_Current().ToString());

            // Constructor used to create both host and assembly evidence.
            Object oa1[] = null;
            Site site = new Site("www.wideworldimporters.com");
            Object oa2[] =  { url, site };
            Evidence ev3a = new Evidence(oa1, oa2);
            enum1 = ev3a.GetHostEnumerator();
            IEnumerator enum2 = ev3a.GetAssemblyEnumerator();
            enum2.MoveNext();
            Object obj1 = enum2.get_Current();
            enum2.MoveNext();
            Console.WriteLine(("URL = " + obj1.ToString() + "  Site
 = " 
                + enum2.get_Current().ToString()));

            // Constructor used to create null host and null assembly
 evidence.
            Evidence ev3b = new Evidence(null,
 null);
            Console.WriteLine("Create new evidence with null
 host and " 
                + " assembly evidence");
        }
        catch (System.Exception e) {
            Console.WriteLine("Fatal error: {0}", e.ToString());
            return false;
        }
        return retVal;
    } //CreateEvidence

    public Evidence DemonstrateEvidenceMembers()
    {
        Evidence myEvidence = new Evidence();
        String sPubKeyBlob = "00240000525341310004000001000100" 
            + "19390E945A40FB5730204A25FA5DC4DA" 
            + "B18688B412CB0EDB87A6EFC50E2796C9" 
            + "B41AD3040A7E46E4A02516C598678636" 
            + "44A0F74C39B7AB9C38C01F10AF4A5752" 
            + "BFBCDF7E6DD826676AD031E7BCE63393" 
            + "495BAD2CA4BE03B529A73C95E5B06BE7" 
            + "35CA0F622C63E8F54171BD73E4C8F193" 
            + "CB2664163719CA41F8159B8AC88F8CD3";
        Byte pubkey[] = HexsToArray(sPubKeyBlob);

        // Create a strong name.
        StrongName mSN = new StrongName(
            new StrongNamePublicKeyBlob((ubyte[])pubkey), "SN01",
 
                new Version("0.0.0.0"));

        // Create assembly and host evidence.
        Console.WriteLine("Adding assembly evidence.");
        myEvidence.AddAssembly("SN01");
        myEvidence.AddAssembly(new Version("0.0.0.0"));
        myEvidence.AddAssembly(mSN);
        Console.WriteLine(("Count of evidence items = " 
            + myEvidence.get_Count()));

        Url url = new Url("http://www.treyresearch.com");
        Console.WriteLine(("Adding host evidence " + url.ToString()));
        myEvidence.AddHost(url);
        String.valueOf(PrintEvidence(myEvidence));
        Console.WriteLine(("Count of evidence items = " 
            + myEvidence.get_Count()));

        Console.WriteLine("\nCopy the evidence to an array using
 CopyTo," 
            + " then display the array.");
        Object evidenceArray[] = new Object[myEvidence.get_Count()];
        myEvidence.CopyTo(evidenceArray, 0);
        for (int objCount = 0; objCount <
 evidenceArray.length; objCount++) {
            Object obj = evidenceArray[objCount];
            Console.WriteLine(obj.ToString());
        }

        Console.WriteLine("\nDisplay the contents of the properties.");
        Console.WriteLine("Locked is the only property normally used by code.");
        Console.WriteLine("IsReadOnly, IsSynchronized, and SyncRoot " 
            + " properties are not normally used.");

        Console.WriteLine(("\nThe default value for
 the Locked property = " 
            + System.Convert.ToString(myEvidence.get_Locked())));

        Console.WriteLine("\nGet the hashcode for the evidence.");
        Console.WriteLine(("HashCode = " + myEvidence.GetHashCode()));

        Console.WriteLine("\nGet the type for the evidence.");
        Console.WriteLine(("Type = " + myEvidence.GetType().ToString()));

        Console.WriteLine("\nMerge new evidence with the
 current evidence.");
        Object oa1[] = null;
        Site site = new Site("www.wideworldimporters.com");
        Object oa2[] =  { url, site };
        Evidence newEvidence = new Evidence(oa1, oa2);
        myEvidence.Merge(newEvidence);
        Console.WriteLine(("Evidence count = " + PrintEvidence(myEvidence)));

        Console.WriteLine("\nRemove URL evidence.");
        myEvidence.RemoveType(url.GetType());
        Console.WriteLine(("Evidence count is now: " + myEvidence.get_Count()));

        Console.WriteLine("\nMake a copy of the current evidence.");
        Evidence evidenceCopy = new Evidence(myEvidence);
        Console.WriteLine(("Count of new evidence items =
 " 
            + evidenceCopy.get_Count()));
        Console.WriteLine(("Does the copy equal the current evidence? "
 
            + System.Convert.ToString(myEvidence.Equals(evidenceCopy))));

        Console.WriteLine("\nClear the current evidence.");
        myEvidence.Clear();
        Console.WriteLine(("Count is now " + myEvidence.get_Count()));
        return myEvidence;
    } //DemonstrateEvidenceMembers

    public static int PrintEvidence(Evidence
 myEvidence)
    {
        int p = 0;
        Console.WriteLine("\nCurrent evidence = ");
        if (null == myEvidence) {
            return 0;
        }
        IEnumerator list = myEvidence.GetEnumerator();

        while (list.MoveNext()) {
            Console.WriteLine(String.valueOf(list.get_Current()));
        }
        Console.WriteLine("\n");
        return p;
    } //PrintEvidence

    public static System.Byte[] HexsToArray(String
 sHexString)
    {
        Byte array[] = new Byte[sHexString.get_Length() / 2];
        for (int i = 0; i < sHexString.get_Length();
 i += 2) {
            array[i / 2] = (Byte)Byte.Parse(sHexString.Substring(i, 2), 
                NumberStyles.HexNumber);
        }
        return array;
    } //HexsToArray

    public static void main(String[]
 args)
    {
        try {
            EvidenceExample EvidenceTest = new EvidenceExample();
            boolean ret = EvidenceTest.CreateEvidence();
            if (ret) {
                Console.WriteLine("Evidence successfully created.");
            }
            else {
                Console.WriteLine("Evidence creation failed.");
            }
            EvidenceTest.DemonstrateEvidenceMembers();
        }
        catch (System.Exception e) {
            Console.WriteLine(e.ToString());
            Environment.set_ExitCode(101);
        }
    } //main
} //EvidenceExample
継承階層継承階層
System.Object
  System.Security.Policy.Evidence
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Evidence メンバ
System.Security.Policy 名前空間

Evidence コンストラクタ ()

Evidence クラス新しい空のインスタンス初期化します。

名前空間: System.Security.Policy
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

使用例使用例

Evidence コンストラクタ使用する方法次のコード例示します。このコード例は、Evidence クラストピック取り上げているコード例一部分です。

Dim ev1 As New Evidence
Console.WriteLine("Created empty evidence with the default constructor.")

Evidence ev1 = new Evidence();
Console.WriteLine("Created empty evidence with the default
 constructor.");
Evidence^ ev1 = gcnew Evidence;
Console::WriteLine( "Created empty evidence with the default
 constructor." );

Evidence ev1 = new Evidence();
Console.WriteLine("Created empty evidence with the " 
    + " default constructor.");
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Evidence クラス
Evidence メンバ
System.Security.Policy 名前空間

Evidence コンストラクタ (Object[], Object[])

ホスト提供する証拠アセンブリ提供する証拠から成る複数証拠セットから Evidence クラス新しインスタンス初期化します。

名前空間: System.Security.Policy
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    hostEvidence As Object(), _
    assemblyEvidence As Object() _
)
Dim hostEvidence As Object()
Dim assemblyEvidence As Object()

Dim instance As New Evidence(hostEvidence,
 assemblyEvidence)
public Evidence (
    Object[] hostEvidence,
    Object[] assemblyEvidence
)
public:
Evidence (
    array<Object^>^ hostEvidence, 
    array<Object^>^ assemblyEvidence
)
public Evidence (
    Object[] hostEvidence, 
    Object[] assemblyEvidence
)
public function Evidence (
    hostEvidence : Object[], 
    assemblyEvidence : Object[]
)

パラメータ

hostEvidence

新しインスタンス作成元となる、ホスト提供する証拠

assemblyEvidence

新しインスタンス作成元となる、アセンブリ提供する証拠

使用例使用例

Evidence(Object[],Object[]) コンストラクタ使用する方法次のコード例示します。このコード例は、Evidence クラストピック取り上げているコード例一部分です。

Dim oa1() As [Object]
Dim site As New Site("www.wideworldimporters.com")
Dim oa2 As [Object]() = {url, site}
Dim ev3a As New Evidence(oa1,
 oa2)
enum1 = ev3a.GetHostEnumerator()
Dim enum2 As IEnumerator = ev3a.GetAssemblyEnumerator()
enum2.MoveNext()
Dim obj1 As [Object] = enum2.Current
enum2.MoveNext()
Console.WriteLine(("URL = " & obj1.ToString()
 & "  Site = " & enum2.Current.ToString()))
Object [] oa1 = {};
Site site = new Site("www.wideworldimporters.com");
Object [] oa2 = { url, site };
Evidence ev3a = new Evidence(oa1, oa2);
enum1 = ev3a.GetHostEnumerator();
IEnumerator enum2 = ev3a.GetAssemblyEnumerator();
enum2.MoveNext();
Object obj1 = enum2.Current;
enum2.MoveNext();
Console.WriteLine("URL = " + obj1.ToString() + "  Site = " +
 enum2.Current.ToString());
array<Object^>^oa1 = {};
Site^ site = gcnew Site( "www.wideworldimporters.com" );
array<Object^>^oa2 = {url,site};
Evidence^ ev3a = gcnew Evidence( oa1,oa2 );
enum1 = ev3a->GetHostEnumerator();
IEnumerator^ enum2 = ev3a->GetAssemblyEnumerator();
enum2->MoveNext();
Object^ obj1 = enum2->Current;
enum2->MoveNext();
Console::WriteLine( "URL = {0}  Site = {1}", obj1, enum2->Current );

Object oa1[] = null;
Site site = new Site("www.wideworldimporters.com");
Object oa2[] =  { url, site };
Evidence ev3a = new Evidence(oa1, oa2);
enum1 = ev3a.GetHostEnumerator();
IEnumerator enum2 = ev3a.GetAssemblyEnumerator();
enum2.MoveNext();
Object obj1 = enum2.get_Current();
enum2.MoveNext();
Console.WriteLine(("URL = " + obj1.ToString() + "  Site = " 
    + enum2.get_Current().ToString()));
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Evidence クラス
Evidence メンバ
System.Security.Policy 名前空間

Evidence コンストラクタ (Evidence)

既存インスタンス簡易コピーから Evidence クラス新しインスタンス初期化します。

名前空間: System.Security.Policy
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    evidence As Evidence _
)
Dim evidence As Evidence

Dim instance As New Evidence(evidence)
public Evidence (
    Evidence evidence
)
public:
Evidence (
    Evidence^ evidence
)
public Evidence (
    Evidence evidence
)
public function Evidence (
    evidence : Evidence
)

パラメータ

evidence

新しインスタンス作成元の Evidence インスタンス。このインスタンスは、詳細コピーされていません。

例外例外
例外種類条件

ArgumentException

evidence パラメータが、Evidence有効なインスタンスではありません。

使用例使用例

Evidence(Evidence) コンストラクタ使用する方法次のコード例示します。このコード例は、Evidence クラストピック取り上げているコード例一部分です。

Console.WriteLine(ControlChars.Lf & "Make a copy of the current
 evidence.")
Dim evidenceCopy As New
 Evidence(myEvidence)
Console.WriteLine(("Count of new evidence items = "
 & evidenceCopy.Count.ToString()))
Console.WriteLine(("Does the copy equal the current evidence?
 " & myEvidence.Equals(evidenceCopy)))
Console.WriteLine("\nMake a copy of the current evidence.");
Evidence evidenceCopy = new Evidence(myEvidence);
Console.WriteLine("Count of new evidence items = " +
 evidenceCopy.Count);
Console.WriteLine("Does the copy equal the current evidence? " + myEvidence.Equals(evidenceCopy));
Console::WriteLine( "\nMake a copy of the current evidence." );
Evidence^ evidenceCopy = gcnew Evidence( myEvidence );
Console::WriteLine( "Count of new evidence items = {0}",
 evidenceCopy->Count );
Console::WriteLine( "Does the copy equal the current evidence? {0}", myEvidence->Equals(
 evidenceCopy ) );
Console.WriteLine("\nMake a copy of the current evidence.");
Evidence evidenceCopy = new Evidence(myEvidence);
Console.WriteLine(("Count of new evidence items = "
 
    + evidenceCopy.get_Count()));
Console.WriteLine(("Does the copy equal the current evidence? " 
    + System.Convert.ToString(myEvidence.Equals(evidenceCopy))));
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Evidence クラス
Evidence メンバ
System.Security.Policy 名前空間

Evidence コンストラクタ


Evidence プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ SyncRoot 同期ルート取得します
参照参照

関連項目

Evidence クラス
System.Security.Policy 名前空間

Evidence メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド AddAssembly アセンブリによって提供される特定の証拠証拠セット追加します
パブリック メソッド AddHost ホストによって提供される特定の証拠証拠セット追加します
パブリック メソッド Clear ホストおよびアセンブリ証拠証拠セットか削除します
パブリック メソッド CopyTo Array証拠オブジェクトコピーします
パブリック メソッド Equals オーバーロードされますオーバーライドされます。  
パブリック メソッド GetAssemblyEnumerator アセンブリによって提供される証拠列挙します
パブリック メソッド GetEnumerator ホスト提供する証拠アセンブリ提供する証拠両方含め証拠セット内のすべての証拠列挙します
パブリック メソッド GetHashCode オーバーライドされますハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適した Evidence オブジェクトハッシュ コード取得します
パブリック メソッド GetHostEnumerator ホストによって提供される証拠列挙します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド Merge 指定した証拠セット現在の証拠セットマージます。
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド RemoveType 特定のタイプ証拠ホストおよびアセンブリ列挙から削除します
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
参照参照

関連項目

Evidence クラス
System.Security.Policy 名前空間

Evidence メンバ

セキュリティ ポリシーアクセス許可決定するときに使用する一連の情報定義します。このクラス継承できません。

Evidence データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ SyncRoot 同期ルート取得します
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド AddAssembly アセンブリによって提供される特定の証拠証拠セット追加します
パブリック メソッド AddHost ホストによって提供される特定の証拠証拠セット追加します
パブリック メソッド Clear ホストおよびアセンブリ証拠証拠セットか削除します
パブリック メソッド CopyTo Array証拠オブジェクトコピーします
パブリック メソッド Equals オーバーロードされますオーバーライドされます。  
パブリック メソッド GetAssemblyEnumerator アセンブリによって提供される証拠列挙します
パブリック メソッド GetEnumerator ホスト提供する証拠アセンブリ提供する証拠両方含め証拠セット内のすべての証拠列挙します
パブリック メソッド GetHashCode オーバーライドされますハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適した Evidence オブジェクトハッシュ コード取得します
パブリック メソッド GetHostEnumerator ホストによって提供される証拠列挙します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド Merge 指定した証拠セット現在の証拠セットマージます。
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド RemoveType 特定のタイプ証拠ホストおよびアセンブリ列挙から削除します
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
参照参照

関連項目

Evidence クラス
System.Security.Policy 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からevidenceを検索した結果を表示しています。
Weblioに収録されているすべての辞書からevidenceを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からevidence を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「evidence」の関連用語

evidenceのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



evidenceのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS