System.Security.Policy.EvidenceBase.Clone C# (CSharp) Method

Clone() public method

public Clone ( ) : EvidenceBase
return EvidenceBase
        public virtual EvidenceBase Clone()
        {
            return default(EvidenceBase);
        }

Same methods

EvidenceBase::Clone ( ) : System.Security.Policy.EvidenceBase

Usage Example

        private EvidenceBase GetHostEvidenceNoLock(Type type)
        {
            EvidenceTypeDescriptor evidenceTypeDescriptor = this.GetEvidenceTypeDescriptor(type);

            if (evidenceTypeDescriptor != null)
            {
                if (evidenceTypeDescriptor.HostEvidence != null)
                {
                    return(evidenceTypeDescriptor.HostEvidence);
                }
                if ((this.m_target != null) && !evidenceTypeDescriptor.Generated)
                {
                    using (new EvidenceUpgradeLockHolder(this))
                    {
                        evidenceTypeDescriptor.Generated = true;
                        EvidenceBase base2 = this.GenerateHostEvidence(type, evidenceTypeDescriptor.HostCanGenerate);
                        if (base2 != null)
                        {
                            evidenceTypeDescriptor.HostEvidence = base2;
                            Evidence target = (this.m_cloneOrigin != null) ? (this.m_cloneOrigin.Target as Evidence) : null;
                            if (target == null)
                            {
                                return(base2);
                            }
                            using (new EvidenceLockHolder(target, EvidenceLockHolder.LockType.Writer))
                            {
                                EvidenceTypeDescriptor descriptor2 = target.GetEvidenceTypeDescriptor(type);
                                if ((descriptor2 != null) && (descriptor2.HostEvidence == null))
                                {
                                    descriptor2.HostEvidence = base2.Clone();
                                }
                            }
                        }
                        return(base2);
                    }
                }
            }
            return(null);
        }