/// <summary> /// Import property by name /// </summary> /// <param name="propertyName">property name</param> /// <returns>configuration object</returns> public IFluentImportPropertyConfiguration ImportProperty(string propertyName) { var property = _exportConfiguration.ActivationType.GetRuntimeProperty(propertyName); if (property == null) { throw new Exception($"Could not find property named {propertyName} on type {_exportConfiguration.ActivationType.Name}"); } var memberInjection = new MemberInjectionInfo { MemberInfo = property }; _exportConfiguration.MemberInjectionSelector(new KnownMemberInjectionSelector(memberInjection)); return(new FluentImportPropertyConfiguration(this, memberInjection)); }
/// <summary> /// Default constructor /// </summary> /// <param name="strategy"></param> /// <param name="memberInjectionInfo"></param> public FluentImportPropertyConfiguration(IFluentExportStrategyConfiguration strategy, MemberInjectionInfo memberInjectionInfo) : base(strategy) { _memberInjectionInfo = memberInjectionInfo; }
/// <summary> /// Default constructor /// </summary> /// <param name="memberInfo"></param> public KnownMemberInjectionSelector(MemberInjectionInfo memberInfo) { _memberInfo = memberInfo; }