我正在尝试在类之间共享数据,到目前为止,我通常通常在WinForms中使用这种方法,这似乎在Blazor中不起作用。
public class MainConfiguration
{
private static MainConfiguration _instance = null;
public static MainConfiguration instance
{
get
{
if( _instance == null )
_instance = new MainConfiguration();
return _instance;
}
}
public MainConfiguration()
{
}
}
答案 0 :(得分:3)
在Startup.cs中将MainConfiguration注册为单例服务:
services.AddSingleton<MainConfiguration>();
然后将其注入您需要访问的所有位置:
例如在.razor文件中,您可以执行以下操作:
@inject MainConfiguration MainConfiguration
或在@code
部分:
[Inject]
public MainConfiguration MainConfiguration {get; set;}
您还可以通过构造函数将MainConfiguration注入到c#类中:
public class MyClass
{
public MyClass(MainConfiguration mainConfiguration) { ... }
}