コード例 #1
0
        public BinaryMemberCompositeBuilder(MemberMetaInfo member,
                                            GeneratingTypeName typeName,
                                            IMemberFormatNamespaceProvider namespaceProvider,
                                            IEnumerable <IBinaryMemberFeatureProvider> featureProviders,
                                            ISourceAddition sourceAddition)
        {
            _member         = member;
            _typeName       = typeName;
            _sourceAddition = sourceAddition;
            _features       = featureProviders.Where(feature => feature.ShouldApply(member))
                              .Select(feature => feature.GetComposingMethods(member, _memberComponents, _throwCollection))
                              .ToList();

            var namespaceInfo = namespaceProvider.GetUsingNamespaces(member);

            _normalNamespaces      = namespaceInfo.WithNamespaces.ToList();
            _prioritizedNamespaces = namespaceInfo.WithPrioritizedNamespaces.ToList();

            Debug.Assert(_member.ReturnType != null);
        }
コード例 #2
0
 public BinaryMemberCompositeBuilderProvider(IMemberFormatNamespaceProvider namespaceProvider, IEnumerable <IBinaryMemberFeatureProvider> featureProviders, ISourceAddition sourceAddition)
 {
     _namespaceProvider = namespaceProvider;
     _featureProviders  = featureProviders;
     _sourceAddition    = sourceAddition;
 }