// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. // using System; using System.Collections.Generic; namespace System.Security.Policy { /// /// IRuntimeEvidenceFactory is implemented by runtime types which the CLR knows how to delay /// generate evidence for. It is used by the Evidence class to get evidence on demand when we first /// need it. /// internal interface IRuntimeEvidenceFactory { /// /// Object which the evidence generated by this factory is used for /// IEvidenceFactory Target { get; } /// /// Get the collection of evidence objects supplied by the factory itself, rather than by the /// runtime. /// IEnumerable GetFactorySuppliedEvidence(); /// /// Generate a specific type of evidence for this object, returning null if the specified type of /// evidence cannot be generated. /// EvidenceBase GenerateEvidence(Type evidenceType); } }