在使用选项模式时,确保正确配置和注册选项,并确保委托正确调用。以下是一个示例解决方案:
Startup.cs
文件中正确配置和注册选项。在 ConfigureServices
方法中添加以下代码:services.Configure(Configuration.GetSection("MyOptions"));
appsettings.json
文件中正确配置选项。例如,添加以下代码:"MyOptions": {
"Option1": "Value1",
"Option2": "Value2"
}
IOptions
对象,并在构造函数中使用该对象。例如:public class MyClass
{
private readonly MyOptions _options;
public MyClass(IOptions options)
{
_options = options.Value;
}
public void MyMethod()
{
// 使用选项值
Console.WriteLine(_options.Option1);
Console.WriteLine(_options.Option2);
}
}
public class SomeOtherClass
{
private readonly MyClass _myClass;
public SomeOtherClass(MyClass myClass)
{
_myClass = myClass;
}
public void SomeMethod()
{
_myClass.MyMethod();
}
}
SomeOtherClass
。例如,在 Startup.cs
文件的 Configure
方法中,使用以下代码调用 SomeMethod
:var someOtherClass = app.ApplicationServices.GetService();
someOtherClass.SomeMethod();
通过确保正确配置和注册选项,并正确使用注入和调用代码,您应该能够解决委托没有被调用的问题。