Class InjectionMember<TMemberInfo, TData>
public abstract class InjectionMember<TMemberInfo, TData> : InjectionMember, IEquatable<TMemberInfo> where TMemberInfo : MemberInfo
Type Parameters
TMemberInfoTData
- Inheritance
-
InjectionMember<TMemberInfo, TData>
- Implements
-
IEquatable<TMemberInfo>
- Derived
- Inherited Members
- Extension Methods
Constructors
InjectionMember(string, TData)
protected InjectionMember(string name, TData data)
Parameters
namestringdataTData
InjectionMember(TMemberInfo, TData)
protected InjectionMember(TMemberInfo info, TData data)
Parameters
infoTMemberInfodataTData
Fields
NoMatchFound
protected const string NoMatchFound = "No member matching data has been found."
Field Value
Properties
BuildRequired
This injection member instructs engine, when type mapping is present, to build type instead of resolving it
public override bool BuildRequired { get; }
Property Value
Remarks
When types registered like this:
Line 1: container.RegisterType{OtherService}(new ContainerControlledLifetimeManager());
Line 2: container.RegisterType{IService, OtherService}();
Line 3: container.RegisterType{IOtherService, OtherService}(new InjectionConstructor(container));
It is expected that IService resolves instance registered on line 1. But when IOtherService is resolved it requires different constructor so it should be built instead.
Data
public virtual TData Data { get; }
Property Value
- TData
IsInitialized
public bool IsInitialized { get; }
Property Value
Name
public string Name { get; }
Property Value
Selection
protected TMemberInfo Selection { get; set; }
Property Value
- TMemberInfo
Methods
AddPolicies<TContext, TPolicySet>(Type, Type, string, ref TPolicySet)
Add policies to the policies to configure the
container to call this constructor with the appropriate parameter values.
public override void AddPolicies<TContext, TPolicySet>(Type registeredType, Type mappedToType, string name, ref TPolicySet policies) where TContext : IResolveContext where TPolicySet : IPolicySet
Parameters
registeredTypeTypeType of interface being registered. If no interface, this will be null.
mappedToTypeTypeType of concrete type being registered.
namestringName used to resolve the type object.
policiesTPolicySetPolicy list to add policies to.
Type Parameters
TContextTPolicySet
DeclaredMembers(Type)
public abstract IEnumerable<TMemberInfo> DeclaredMembers(Type type)
Parameters
typeType
Returns
- IEnumerable<TMemberInfo>
Equals(object)
public override bool Equals(object obj)
Parameters
objobject
Returns
Equals(TMemberInfo)
public virtual bool Equals(TMemberInfo other)
Parameters
otherTMemberInfo
Returns
GetHashCode()
public override int GetHashCode()
Returns
MemberInfo(Type)
public abstract TMemberInfo MemberInfo(Type type)
Parameters
typeType
Returns
- TMemberInfo
SelectMember(Type, InjectionMember)
protected virtual TMemberInfo SelectMember(Type type, InjectionMember member)
Parameters
typeTypememberInjectionMember
Returns
- TMemberInfo