/// <summary> /// Construtor padrão. /// </summary> /// <param name="parameter"></param> /// <param name="importDescription"></param> /// <param name="creationPolicy"></param> public ProviderParameterImportDefinition(System.Reflection.ParameterInfo parameter, ImportDescription importDescription, System.ComponentModel.Composition.CreationPolicy creationPolicy) : base(CompositionServices.GetContractNameFromImportDescription(parameter, importDescription), CompositionServices.GetTypeIdentityFromImportDescription(parameter, importDescription), CompositionServices.GetMetadataFromImportDescription(parameter, importDescription), System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne, importDescription.Recomposable, importDescription.Prerequisite, creationPolicy) { parameter.Require("parameter").NotNull(); importDescription.Require("importDescription").NotNull(); this.AllowDefault = importDescription.AllowDefault; this.Parameter = parameter; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="member"></param> /// <param name="importDescription"></param> /// <param name="creationPolicy">Política de criação.</param> public ProviderImportDefinition(Lazy <MemberInfo> member, ImportDescription importDescription, System.ComponentModel.Composition.CreationPolicy creationPolicy) : base(CompositionServices.GetContractNameFromImportDescription(member, importDescription), CompositionServices.GetTypeIdentityFromImportDescription(member, importDescription), CompositionServices.GetMetadataFromImportDescription(member, importDescription), GetCardinality(member, importDescription.AllowDefault), importDescription.Recomposable, importDescription.Prerequisite, creationPolicy) { member.Require("member").NotNull(); importDescription.Require("importDescription").NotNull(); this.AllowDefault = importDescription.AllowDefault; _member = member; }