#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll
#endregion
using System.Collections;
using System.Runtime.InteropServices;
namespace System.Security.Policy
{
//
// 摘要:
// 定义一的组输入安全策略决策的信息。 此类不能被继承。
[ComVisible(true)]
public sealed class Evidence : ICollection, IEnumerable
{
//
// 摘要:
// 初始化新的空实例 System.Security.Policy.Evidence 类。
public Evidence();
//
// 摘要:
// 新实例初始化 System.Security.Policy.Evidence 的浅表副本中的一个现有的类。
//
// 参数:
// evidence:
// System.Security.Policy.Evidence 实例,将创建新实例。 此实例不是深层复制的。
//
// 异常:
// T:System.ArgumentException:
// evidence 参数不是有效的实例 System.Security.Policy.Evidence。
public Evidence(Evidence evidence);
//
// 摘要:
// 新实例初始化 System.Security.Policy.Evidence 类从多个主机和程序集的证据集。
//
// 参数:
// hostEvidence:
// 从中创建新的实例所宿主的证据。
//
// assemblyEvidence:
// 程序集证据从中创建新实例。
[Obsolete("This constructor is obsolete. Please use the constructor which takes arrays of EvidenceBase instead.")]
public Evidence(object[] hostEvidence, object[] assemblyEvidence);
//
// 摘要:
// 新实例初始化 System.Security.Policy.Evidence 类从多个主机和程序集的证据集。
//
// 参数:
// hostEvidence:
// 从中创建新的实例所宿主的证据。
//
// assemblyEvidence:
// 程序集证据从中创建新实例。
public Evidence(EvidenceBase[] hostEvidence, EvidenceBase[] assemblyEvidence);
//
// 摘要:
// 获取同步根。
//
// 返回结果:
// 始终 this (Me 在 Visual Basic 中),这是因为不支持的证据集同步。
public object SyncRoot { get; }
//
// 摘要:
// 获取证据集中的证据对象数。
//
// 返回结果:
// 在证据集的证据对象数。
[Obsolete("Evidence should not be treated as an ICollection. Please use GetHostEnumerator and GetAssemblyEnumerator to iterate over the evidence to collect a count.")]
public int Count { get; }
//
// 摘要:
// 获取或设置一个值,该值指示是否锁定证据。
//
// 返回结果:
// true 如果证据锁定;否则为 false。 默认值为 false。
public bool Locked { get; set; }
//
// 摘要:
// 获取一个值,该值指示是否线程安全的证据集。
//
// 返回结果:
// 始终 false 因为不支持的线程安全证据集。
public bool IsSynchronized { get; }
//
// 摘要:
// 获取一个值,该值证据集只读的。
//
// 返回结果:
// 始终 false, ,这是因为不支持只读的证据集。
public bool IsReadOnly { get; }
//
// 摘要:
// 将指定的程序集证据添加到证据集。
//
// 参数:
// id:
// 任何证据的对象。
//
// 异常:
// T:System.ArgumentNullException:
// id 为 null。
//
// T:System.ArgumentException:
// id 不可序列化。
[Obsolete("This method is obsolete. Please use AddAssemblyEvidence instead.")]
public void AddAssembly(object id);
//
// 摘要:
// 将指定类型的证据对象添加到程序集提供的证据列表。
//
// 参数:
// evidence:
// 要添加的程序集证据。
//
// 类型参数:
// T:
// 中的对象的类型 evidence。
//
// 异常:
// T:System.ArgumentNullException:
// evidence 为 null。
//
// T:System.InvalidOperationException:
// 类型的证据 T 列表中已存在。
//
// T:System.ArgumentException:
// evidence 不可序列化。
[ComVisible(false)]
public void AddAssemblyEvidence<T>(T evidence) where T : EvidenceBase;
//
// 摘要:
// 添加指定到证据集宿主所提供的证据。
//
// 参数:
// id:
// 任何证据的对象。
//
// 异常:
// T:System.ArgumentNullException:
// id 为 null。
//
// T:System.ArgumentException:
// id 不可序列化。
[Obsolete("This method is obsolete. Please use AddHostEvidence instead.")]
[SecuritySafeCritical]
public void AddHost(object id);
//
// 摘要:
// 将指定类型的主机证据添加到主机证据收集。
//
// 参数:
// evidence:
// 要添加的主机证据。
//
// 类型参数:
// T:
// 中的对象的类型 evidence。
//
// 异常:
// T:System.ArgumentNullException:
// evidence 为 null。
//
// T:System.InvalidOperationException:
// 类型的证据 T 列表中已存在。
[ComVisible(false)]
public void AddHostEvidence<T>(T evidence) where T : EvidenceBase;
//
// 摘要:
// 从证据集内移除的宿主和程序集的证据。
[ComVisible(false)]
[SecuritySafeCritical]
public void Clear();
//
// 摘要:
// 返回此证据对象的副本。
//
// 返回结果:
// 此证据对象指重复副本。
[ComVisible(false)]
public Evidence Clone();
//
// 摘要:
// 将证据对象传递给 System.Array。
//
// 参数:
// array:
// 要向其复制证据对象从目标数组。
//
// index:
// 要开始将证据对象复制到数组中从零开始的位置。
//
// 异常:
// T:System.ArgumentNullException:
// array 为 null。
//
// T:System.ArgumentOutOfRangeException:
// index 目标数组的范围之外.
[Obsolete("Evidence should not be treated as an ICollection. Please use the GetHostEnumerator and GetAssemblyEnumerator methods rather than using CopyTo.")]
public void CopyTo(Array array, int index);
//
// 摘要:
// 枚举该程序集提供的证据。
//
// 返回结果:
// 添加的证据的枚举数 System.Security.Policy.Evidence.AddAssembly(System.Object) 方法。
public IEnumerator GetAssemblyEnumerator();
//
// 摘要:
// 从集合中获取指定类型的程序集证据。
//
// 类型参数:
// T:
// 要获取的证据类型。
//
// 返回结果:
// 类型的证据 T 程序集证据集合中。
[ComVisible(false)]
public T GetAssemblyEvidence<T>() where T : EvidenceBase;
//
// 摘要:
// 枚举在组中,所有证据提供的主机和提供的程序集。
//
// 返回结果:
// 添加两个证据的枚举数 System.Security.Policy.Evidence.AddHost(System.Object) 方法和 System.Security.Policy.Evidence.AddAssembly(System.Object)
// 方法。
[Obsolete("GetEnumerator is obsolete. Please use GetAssemblyEnumerator and GetHostEnumerator instead.")]
public IEnumerator GetEnumerator();
//
// 摘要:
// 枚举由宿主提供的证据。
//
// 返回结果:
// 添加的证据的枚举数 System.Security.Policy.Evidence.AddHost(System.Object) 方法。
public IEnumerator GetHostEnumerator();
//
// 摘要:
// 从集合中获取指定类型的主机证据。
//
// 类型参数:
// T:
// 要获取的证据类型。
//
// 返回结果:
// 类型的证据 T 主机证据集合中。
[ComVisible(false)]
public T GetHostEvidence<T>() where T : EvidenceBase;
//
// 摘要:
// 将指定的证据集分为多个当前的证据集。
//
// 参数:
// evidence:
// 设置为要合并到当前的证据集的证据。
//
// 异常:
// T:System.ArgumentException:
// evidence 参数不是有效的实例 System.Security.Policy.Evidence。
//
// T:System.Security.SecurityException:
// System.Security.Policy.Evidence.Locked 是 true, ,调用此方法的代码不具有 System.Security.Permissions.SecurityPermissionFlag.ControlEvidence,
// ,和 evidence 参数具有不是空的主机列表。
[SecuritySafeCritical]
public void Merge(Evidence evidence);
//
// 摘要:
// 从宿主和程序集枚举中删除给定类型的证据。
//
// 参数:
// t:
// 要删除的证据的类型。
//
// 异常:
// T:System.ArgumentNullException:
// t 为 null。
[ComVisible(false)]
[SecuritySafeCritical]
public void RemoveType(Type t);
}
}