Free user from IocGenericFactoryAttribute and IocInjectAttribute
Motivation
At version 0.9.4-alpha, IocGenericFactoryAttribute and IocInjectAttribute need mark on members to hint source generator.
We should free user from using SourceGen.Ioc attributes in their code before release 1.0.0.
Design
Type[] GenericFactoryTypeMapping: same functionality as IocGenericFactoryAttribute(params Type[] genericTypeMap)
object[] InjectMembers
[nameof(prop), nameof(field), nameof(method)] for ordinary service inject
[new object[] { nameof(prop), MyEnum.Key }] for keyed service inject
[new object[] { nameof(prop), nameof(MyClass.StaticField), KeyType.Csharp }] for KeyType.Csharp inejct
Todo
Free user from
IocGenericFactoryAttributeandIocInjectAttributeMotivation
At version 0.9.4-alpha,
IocGenericFactoryAttributeandIocInjectAttributeneed mark on members to hint source generator.We should free user from using SourceGen.Ioc attributes in their code before release 1.0.0.
Design
Type[] GenericFactoryTypeMapping: same functionality asIocGenericFactoryAttribute(params Type[] genericTypeMap)object[] InjectMembers[nameof(prop), nameof(field), nameof(method)]for ordinary service inject[new object[] { nameof(prop), MyEnum.Key }]for keyed service inject[new object[] { nameof(prop), nameof(MyClass.StaticField), KeyType.Csharp }]forKeyType.CsharpinejctTodo
IocRegisterForAttributeadd arguments:GenericFactoryTypeMapping,InjectMembers.IocRegisterDefaultsAttributeadd argument:GenericFactoryTypeMappingremoveIocGenericFactoryAttributeavoid duplicated