为注入类设置值

问题描述 投票:0回答:2

希望这应该是一个简单的。

所以我有这样的课程:

public class ClientIdValues : IClientIdValues
{

   public string[] clientIds {get; set;}
}

该类的接口是:

public interface IClientIdValues
{
  string [] ClientIds {get; set;}
}

该类被注入到另一个类中并在startup.cs中注册。该类在注入时可用,但它是空的,所以应该是空的,我还没有设置值。

但是,我似乎不知道如何

我认为这是某种形式的

services.Configure<ClientIdValues>(opt => opt.clientIds = stringArray);

预先感谢您的帮助!

c# asp.net .net dependency-injection
2个回答
0
投票

您可能只需要添加一个构造函数,在其中使用

ClientIds
实例化您的
new string[numberOfElement]
属性。

此外,如果您不知道它将处理的元素数量,或者它是否需要在某个时刻增长,最好使用

List


0
投票

我发现做到这一点的方法是使用实现工厂

在您的情况下,代码将如下所示:

services.AddScoped<IClientIdValues, ClientIdValues>((sp) => {
    var clientIdValues = new ClientIdValues();
    clientIdValues.clientIds = stringArray;
    return clientIdValues;
});
© www.soinside.com 2019 - 2024. All rights reserved.