Evidence Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет набор информации, которая представляет собой входные данные для принятия решений политики безопасности. Этот класс не наследуется.
public ref class Evidence sealed : System::Collections::ICollection
[System.Serializable]
public sealed class Evidence : System.Collections.ICollection
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Evidence : System.Collections.ICollection
[<System.Serializable>]
type Evidence = class
interface ICollection
interface IEnumerable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Evidence = class
interface ICollection
interface IEnumerable
Public NotInheritable Class Evidence
Implements ICollection
- Наследование
-
Evidence
- Атрибуты
- Реализации
Примеры
В следующем примере кода показано, как создавать новые Evidence классы с доказательствами узла и доказательствами сборки.
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( (array<Object^>^)nullptr, (array<Object^>^)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;
}
}
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;
}
}
}
Imports System.Collections
Imports System.Security
Imports System.Security.Policy
Imports System.Security.Permissions
Imports System.Globalization
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
End Class
Комментарии
Распространенные формы доказательств включают сигнатуры и расположение источника кода, но потенциально могут быть что-либо. Объекты любого типа, распознаваемого политикой безопасности, представляют доказательства.
Политика безопасности состоит из групп кода; определенная сборка (базовая единица кода для предоставления разрешений безопасности) является членом группы кода, если она удовлетворяет условию членства в группе кода. Доказательства — это набор входных данных в политику, которая использует условия членства, чтобы определить, к каким группам кода принадлежит сборка.
Класс Evidence представляет собой коллекцию (см ICollection.), которая содержит набор объектов, представляющих доказательства. Этот класс содержит два набора, которые соответствуют источнику доказательств: доказательства узла и доказательства сборки.
Политика может получить доказательства из двух разных источников при оценке разрешений для кода:
-
Host evidenceпредоставляется узлом и может предоставляться только узлами, которым предоставлено ControlEvidence разрешение. Как правило, это свидетельство происхождения кода и цифровых подписей на сборке. Доказательства о происхождении обычно включают UrlSite, и Zone доказательства. Подписи относятся к издателю программного обеспечения (подпись AuthentiCode X.509v3) и удостоверениям строгого имени. Оба типа удостоверения на основе цифровой подписи встроены в сборку, но должны быть проверены и переданы в политику узлом; При загрузке система безопасности проверяет подпись. Затем система создает соответствующие доказательства и передает его политике только в том случае, если соответствующая подпись действительна. -
Assembly evidenceявляется частью самой сборки. Разработчики или администраторы могут присоединить пользовательские доказательства к сборке, чтобы расширить набор доказательств политики. Доказательства сборки можно добавить только во время создания сборки, которая возникает перед подписью сборки. Политика по умолчанию системы безопасности игнорирует предоставленные сборкой доказательства, но ее можно расширить, чтобы принять ее.
Конструкторы
| Имя | Описание |
|---|---|
| Evidence() |
Инициализирует новый пустой экземпляр Evidence класса. |
| Evidence(Evidence) |
Инициализирует новый экземпляр Evidence класса из неглубокой копии существующей. |
| Evidence(EvidenceBase[], EvidenceBase[]) |
Инициализирует новый экземпляр Evidence класса из нескольких наборов доказательств узла и сборки. |
| Evidence(Object[], Object[]) |
Устаревшие..
Инициализирует новый экземпляр Evidence класса из нескольких наборов доказательств узла и сборки. |
Свойства
| Имя | Описание |
|---|---|
| Count |
Устаревшие..
Возвращает количество объектов доказательства в наборе доказательств. |
| IsReadOnly |
Возвращает значение, указывающее, доступен ли набор доказательств только для чтения. |
| IsSynchronized |
Возвращает значение, указывающее, является ли набор доказательств потокобезопасной. |
| Locked |
Возвращает или задает значение, указывающее, заблокирован ли доказательства. |
| SyncRoot |
Возвращает корень синхронизации. |
Методы
| Имя | Описание |
|---|---|
| AddAssembly(Object) |
Устаревшие..
Добавляет указанные доказательства сборки в набор доказательств. |
| AddAssemblyEvidence<T>(T) |
Добавляет объект доказательства указанного типа в предоставленный сборкой список доказательств. |
| AddHost(Object) |
Устаревшие..
Добавляет указанные доказательства, предоставленные узлом в набор доказательств. |
| AddHostEvidence<T>(T) |
Добавляет доказательства узла указанного типа в коллекцию доказательств узла. |
| Clear() |
Удаляет доказательства узла и сборки из набора доказательств. |
| Clone() |
Возвращает дубликат копии этого объекта доказательства. |
| CopyTo(Array, Int32) |
Устаревшие..
Копирует объекты доказательства в объект Array. |
| Equals(Object) |
Определяет, равен ли указанный Evidence объект текущему Evidenceобъекту. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetAssemblyEnumerator() |
Перечисляет доказательства, предоставленные сборкой. |
| GetAssemblyEvidence<T>() |
Получает свидетельство сборки указанного типа из коллекции. |
| GetEnumerator() |
Устаревшие..
Перечисляет все доказательства в наборе, как предоставленные узлом, так и предоставленные сборкой. |
| GetHashCode() |
Получает хэш-код для объекта, который подходит для Evidence использования в хэш-алгоритмах и структурах данных, таких как хэш-таблица. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetHostEnumerator() |
Перечисляет доказательства, предоставленные узлом. |
| GetHostEvidence<T>() |
Получает свидетельство узла указанного типа из коллекции. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| Merge(Evidence) |
Объединяет указанные доказательства, заданные в текущий набор доказательств. |
| RemoveType(Type) |
Удаляет доказательства заданного типа из перечислений узлов и сборок. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Методы расширения
| Имя | Описание |
|---|---|
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| Cast<TResult>(IEnumerable) |
Приведение элементов IEnumerable к указанному типу. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |