﻿<?xml version="1.0" encoding="utf-8"?><Type Name="EvidenceBase" FullName="System.Security.Policy.EvidenceBase"><TypeSignature Language="C#" Value="public abstract class EvidenceBase" /><TypeSignature Language="ILAsm" Value=".class public auto ansi abstract serializable beforefieldinit EvidenceBase extends System.Object" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Before the net_v40_long, almost any object could be used as an evidence object if the hosting code wanted to apply it as evidence. For example, some .NET Framework code recognized <see cref="T:System.Uri" /> objects as evidence. The common language runtime (CLR) considered evidence objects as <see cref="T:System.Object" /> references, and did not apply any type safety to them.</para><para>This presented a problem because there were implicit restrictions on which types could be used as evidence objects. Specifically, any object used as evidence had to be serializable and could not be null. If these requirements were not met, the CLR threw an exception whenever an operation that required one of these assumptions was performed.</para><para>The <see cref="T:System.Security.Policy.EvidenceBase" /> class, which all evidence objects must derive from, was introduced in the net_v40_short to enable constraints on the types of objects that can be used as evidence and to provide the ability to add new features and requirements to all evidence objects. The <see cref="T:System.Security.Policy.EvidenceBase" /> class ensures, upon instantiation, that the evidence object is serializable. In addition, it enables new evidence requirements to be created by adding new default implementations to the base class.  </para><para>All the types used by the CLR as evidence objects have been updated in the net_v40_short to derive from <see cref="T:System.Security.Policy.EvidenceBase" />. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Provides a base class from which all objects to be used as evidence must derive. </para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected EvidenceBase ();" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>All objects to be used as evidence must be serializable. You must mark any derived types as serializable, because the serializable attribute does not propagate to derived classes.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Policy.EvidenceBase" /> class. </para></summary></Docs></Member><Member MemberName="Clone"><MemberSignature Language="C#" Value="public virtual System.Security.Policy.EvidenceBase Clone ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Security.Policy.EvidenceBase Clone() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.Policy.EvidenceBase</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The duplicate copy is a complete copy that includes all the evidence objects in the collection. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates a new object that is a complete copy of the current instance.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A duplicate copy of this evidence object.</para></returns></Docs></Member></Members></Type>