本文整理汇总了C#中IRegistration.GetMappedFromType方法的典型用法代码示例。如果您正苦于以下问题:C# IRegistration.GetMappedFromType方法的具体用法?C# IRegistration.GetMappedFromType怎么用?C# IRegistration.GetMappedFromType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IRegistration
的用法示例。
在下文中一共展示了IRegistration.GetMappedFromType方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Register
public override void Register(IServiceLocatorAdapter adapter, IServiceLocatorStore store, IRegistration registration, ResolutionPipeline pipeline)
{
var mappedFromType = registration.GetMappedFromType();
var mappedToType = registration.GetMappedToType();
if (mappedFromType != mappedToType)
{
adapter.RegisterFactoryMethod(mappedFromType, () => pipeline.Execute(mappedFromType));
RegisterLazy(adapter, mappedFromType, pipeline);
adapter.Register(mappedToType, mappedToType);
RegisterContextual(adapter, mappedToType);
}
else
{
var serviceLocator = adapter.GetInstance<IServiceLocator>();
adapter.RegisterFactoryMethod(mappedToType, () =>
{
var instance = serviceLocator.GetInstance(mappedToType, "default." + mappedToType, new IResolutionArgument[0]);
return instance;
});
serviceLocator.Register(new NamedRegistration(mappedToType, mappedToType, "default." + mappedToType));
}
RegisterLazy(adapter, mappedToType, pipeline);
RegisterTypeResolver(adapter, mappedFromType);
RegisterContextual(adapter, mappedFromType);
}
示例2: Register
public override void Register(IServiceLocatorAdapter adapter, IServiceLocatorStore store, IRegistration registration, ResolutionPipeline pipeline)
{
var namedRegistration = (INamedRegistration)registration;
var mappedTo = registration.GetMappedTo();
adapter.RegisterInstanceWithName(registration.GetMappedToType(), mappedTo, namedRegistration.Key);
adapter.RegisterInstanceWithName(registration.GetMappedFromType(), mappedTo, namedRegistration.Key);
}
示例3: Register
public override void Register(IServiceLocatorAdapter adapter, IServiceLocatorStore store, IRegistration registration, ResolutionPipeline pipeline)
{
var namedRegistration = (INamedRegistration) registration;
var mappedToType = registration.GetMappedToType();
var mappedFromType = registration.GetMappedFromType();
adapter.RegisterWithName(mappedToType, mappedToType, namedRegistration.Key);
adapter.RegisterWithName(mappedFromType, mappedToType, namedRegistration.Key);
RegisterNamedLazy(adapter, mappedFromType, namedRegistration.Key);
RegisterNamedLazy(adapter, mappedToType, namedRegistration.Key);
}
示例4: Register
public override void Register(IServiceLocatorAdapter adapter, IServiceLocatorStore store, IRegistration registration, ResolutionPipeline pipeline)
{
var mappedFromType = registration.GetMappedFromType();
var mappedToType = registration.GetMappedToType();
adapter.RegisterFactoryMethod(mappedFromType, () => pipeline.Execute(mappedFromType));
adapter.RegisterInstance(mappedToType, registration.GetMappedTo());
RegisterLazy(adapter, mappedFromType, pipeline);
RegisterLazy(adapter, mappedToType, pipeline);
RegisterContextual(adapter, mappedFromType);
RegisterContextual(adapter, mappedToType);
}
示例5: Add
public virtual void Add(IRegistration registration)
{
Add(registration.GetMappedFromType(), registration);
}
示例6: Equals
public virtual bool Equals(IRegistration registration)
{
return registration.GetType() == this.GetType() &&
registration.GetMappedFromType() == this.GetMappedFromType() &&
registration.GetMappedToType() == this.GetMappedToType();
}
示例7: Register
public void Register(IServiceLocatorAdapter adapter, IServiceLocatorStore store, IRegistration registration, ResolutionPipeline pipeline)
{
adapter.Register(registration.GetMappedFromType(), registration.GetMappedToType());
}