/*********
        ** Protected methods
        *********/
        /// <summary>Construct an instance.</summary>
        /// <param name="analyzer">Reflects methods and properties for contract analysis.</param>
        /// <param name="inheritContract">Whether to inherit the contract annotations defined on a base class or interface.</param>
        protected DesignedByContractAttribute(IMethodAnalyzer analyzer, bool inheritContract = true)
        {
            if (analyzer == null)
                throw new ArgumentNullException("analyzer");

            this.Analyzer = analyzer;
            this.InheritContracts = inheritContract;
        }
Example #2
0
 public ObjectAnalyzer(IIdGenerator idGenerator, IPropertyAnalyzer propertyAnalyzer, IMethodAnalyzer methodAnalyzer)
 {
     this.idGenerator      = idGenerator;
     this.propertyAnalyzer = propertyAnalyzer;
     this.methodAnalyzer   = methodAnalyzer;
 }