Evidence 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
定義構成安全性原則決策輸入的資訊集。 此類別無法獲得繼承。
public ref class Evidence sealed : System::Collections::ICollection
public sealed class Evidence : 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
type Evidence = class
interface ICollection
interface IEnumerable
[<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 主機提供。 一般而言,這是元件上程式碼來源和數位簽章的辨識項。 關於來源的辨識項通常包括 Url 、 Site 和 Zone 辨識項。 簽章是指軟體發行者 (AuthentiCode X.509v3 簽章) 和強式名稱識別。 這兩種數位簽章型身分識別都內建于元件中,但必須由主機驗證並傳遞至原則;載入時,安全性系統會驗證簽章。 系統接著會建立適當的辨識項,並且只有在對應的簽章有效時,才會將其傳遞至原則。Assembly evidence
是元件本身的一部分。 開發人員或系統管理員可以將自訂辨識項附加至元件,以擴充原則的辨識項集合。 元件辨識項只能在元件產生時加入,這會在簽署元件之前發生。 安全性系統的預設原則會忽略元件提供的辨識項,但可以擴充原則以接受它。
建構函式
Evidence() |
初始化 Evidence 類別的新的空執行個體。 |
Evidence(Evidence) |
從現有物件的淺層複本 (Shallow Copy) 初始化 Evidence 類別的新執行個體。 |
Evidence(EvidenceBase[], EvidenceBase[]) |
從多重主應用程式和組件辨識項集合初始化 Evidence 類別的新執行個體。 |
Evidence(Object[], Object[]) |
已淘汰.
已淘汰.
已淘汰.
從多重主應用程式和組件辨識項集合初始化 Evidence 類別的新執行個體。 |
屬性
Count |
已淘汰.
已淘汰.
已淘汰.
取得辨識項集合 (Evidence Set) 中的辨識項物件數。 |
IsReadOnly |
取得值,指出辨識項集合是否為唯讀。 |
IsSynchronized |
取得值,指出辨識項集合是否為安全執行緒 (Thread-Safe)。 |
Locked |
取得或設定值,指出辨識項是否被鎖定。 |
SyncRoot |
取得同步處理根節點。 |
方法
AddAssembly(Object) |
已淘汰.
已淘汰.
已淘汰.
加入指定的組件辨識項到辨識項集合。 |
AddAssemblyEvidence<T>(T) |
將指定之型別的辨識項物件加入組件提供的辨識項清單中。 |
AddHost(Object) |
已淘汰.
已淘汰.
已淘汰.
加入主應用程式提供的指定辨識項到辨識項集合。 |
AddHostEvidence<T>(T) |
將指定之型別的主辨識項加入主辨識項集合中。 |
Clear() |
從辨識項集合中移除主辨識項和組件辨識項。 |
Clone() |
傳回此辨識項物件的複本。 |
CopyTo(Array, Int32) |
已淘汰.
已淘汰.
已淘汰.
複製辨識項物件到 Array。 |
Equals(Object) | |
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) |
擴充方法
Cast<TResult>(IEnumerable) |
將 IEnumerable 的項目轉換成指定的型別。 |
OfType<TResult>(IEnumerable) |
根據指定的型別來篩選 IEnumerable 的項目。 |
AsParallel(IEnumerable) |
啟用查詢的平行化作業。 |
AsQueryable(IEnumerable) |
將 IEnumerable 轉換成 IQueryable。 |