C# 有什么方法可以控制属性的实例化吗?

C# 有什么方法可以控制属性的实例化吗?,c#,.net,dependency-injection,attributes,C#,.net,Dependency Injection,Attributes,我有一些属性,我想向它们添加依赖项注入。类似这样: public class MyCoolAttribute : MyOtherCoolAttribute { private IMyLogicComponent _logicComponent; public MyCoolAttribute(IMyLogicComponent logicComponent) { _logicComponent = logicComponent; } pu

我有一些
属性
,我想向它们添加
依赖项注入
。类似这样:

public class MyCoolAttribute : MyOtherCoolAttribute
{
    private IMyLogicComponent _logicComponent;

    public MyCoolAttribute(IMyLogicComponent logicComponent)
    {
        _logicComponent = logicComponent;
    }

    public override void DoSomething()
    {
       _logicComponent.DoSomething();
    }
}
既然.net framework实例化了这些属性,我想用我的DI容器创建它们

是否有任何
属性factorycreator
?或者类似的东西


我知道有些人在属性上反对DI,但我想知道这是否可行,而不是这是否是最佳做法。

不,你不能。如果您想在
属性
中使用某些服务,则必须使用全局状态。如果你能说出你想要达到的目标以及你为什么需要它,那就更好了?FWIW,我不反对DI.)@SriramSakthivel——我已经为我正在努力实现的目标添加了一个示例。基于逻辑组件的DI策略。DI将根据我的配置在运行时映射正确的IComponent。我能想出很多解决办法…但我想知道是否有一种很好的方法来干预。不,你没有解释你为什么需要它,也没有解释你想要实现什么。我的意思是为什么这必须在属性中?你打算如何使用它?那部分我不清楚。很抱歉,请参阅文章以获得一个简洁的解决方案。不要将依赖项注入属性。