本文整理汇总了C#中Registry.Configure方法的典型用法代码示例。如果您正苦于以下问题:C# Registry.Configure方法的具体用法?C# Registry.Configure怎么用?C# Registry.Configure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Registry
的用法示例。
在下文中一共展示了Registry.Configure方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ScanTypes
public void ScanTypes(TypeSet types, Registry registry)
{
types.FindTypes(TypeClassification.Closed | TypeClassification.Concretes)
.Where(Registry.IsPublicRegistry)
.Each(type => registry.Configure(x => x.ImportRegistry(type)));
}
示例2: Process
public void Process(Type type, Registry registry)
{
if (Registry.IsPublicRegistry(type))
{
registry.Configure(x => x.ImportRegistry(type));
}
}
示例3: Process
public void Process(Type type, Registry registry)
{
if (PluginFamilyAttribute.MarkedAsPluginFamily(type))
{
registry.Configure(x => x.FindFamily(type));
}
}
示例4: ScanTypes
public override void ScanTypes(TypeSet types, Registry registry)
{
types.AllTypes().Each(type =>
{
IEnumerable<Type> interfaceTypes = type.FindInterfacesThatClose(_openType);
if (!interfaceTypes.Any()) return;
if (type.IsConcrete())
{
_concretions.Add(type);
}
foreach (Type interfaceType in interfaceTypes)
{
_interfaces.Fill(interfaceType);
}
});
_interfaces.Each(@interface =>
{
var expression = registry.For(@interface);
ConfigureFamily(expression);
var exactMatches = _concretions.Where(x => x.CanBeCastTo(@interface)).ToArray();
if (exactMatches.Length == 1)
{
expression.Use(exactMatches.Single());
}
else
{
exactMatches.Each(type => expression.Add(type));
}
if ([email protected]())
{
addConcretionsThatCouldBeClosed(@interface, expression);
}
});
_concretions.Each(type => registry.Configure(graph => graph.ConnectedConcretions.Fill(type)));
}
示例5: Process
public void Process(Type type, Registry registry)
{
if (!type.Name.EndsWith("Settings")) return;
registry.Configure(x => x.Configure(r => r.For(type).EnrichWith((session, original) => new AppSettingsProvider().SettingsFor(original.GetType())).Use(type)));
}