using System; namespace ZeroLevel.DependencyInjection { /// /// Constructor argument type /// internal enum ConstructorParameterKind { /// /// Constant /// None, /// /// DI parameter /// Parameter, /// /// Dependency /// Dependency } /// /// Constructor argument metadata /// internal sealed class ConstructorParameter { /// /// Argument DI-type /// public ConstructorParameterKind ParameterKind; /// /// Argument contract type /// public Type ParameterResolveType; /// /// Dependency name /// public string ParameterResolveName; /// /// Allow null /// public bool IsNullable; /// /// Argument CLR type /// public Type Type; } }