Reputation: 2604
I am trying to share data between classes, and I am normally so far were using in WinForms this approach, which seems like doesn't works in Blazor.
public class MainConfiguration
{
private static MainConfiguration _instance = null;
public static MainConfiguration instance
{
get
{
if( _instance == null )
_instance = new MainConfiguration();
return _instance;
}
}
public MainConfiguration()
{
}
}
Upvotes: 0
Views: 636
Reputation: 7117
Register you MainConfiguration as a singleton service in the Startup.cs:
services.AddSingleton<MainConfiguration>();
Then inject it everywhere you need to have access to:
e.g. in a .razor file you can either do:
@inject MainConfiguration MainConfiguration
or in the @code
section:
[Inject]
public MainConfiguration MainConfiguration {get; set;}
You can also inject your MainConfiguration into a c# class via the constructor:
public class MyClass
{
public MyClass(MainConfiguration mainConfiguration) { ... }
}
Upvotes: 3