コード例 #1
0
        protected override void ProcessExportAttribute(IExportAttribute exportAttribute)
        {
            foreach (string provideExportName in exportAttribute.ProvideExportNames(_exportType))
            {
                AddExportName(provideExportName);
            }

            foreach (Type provideExportType in exportAttribute.ProvideExportTypes(_exportType))
            {
                if (provideExportType.GetTypeInfo().IsGenericTypeDefinition)
                {
                    Type closedType =
                        provideExportType.MakeGenericType(_exportType.GetTypeInfo().GenericTypeArguments);

                    AddExportType(closedType);
                }
                else
                {
                    AddExportType(provideExportType);
                }
            }
        }
コード例 #2
0
        protected virtual void ProcessExportAttribute(IExportAttribute exportAttribute)
        {
            foreach (string provideExportName in exportAttribute.ProvideExportNames(_exportType))
            {
                AddExportName(provideExportName);
            }

            foreach (Type provideExportType in exportAttribute.ProvideExportTypes(_exportType))
            {
                AddExportType(provideExportType);
            }
        }