我有以下类:
public class Notifications
{
public static Notifications Instance = new Notifications();
public NotificationHubClient Hub { get; set; }
private Notifications() {
Hub = NotificationHubClient.CreateClientFromConnectionString(
"<conn string with full access>", "<hub name>");
}
}
我试图修改代码动态传递连接字符串的值和hub的名称构造函数,我改变了构造函数:
private Notifications(string connectionString,string hubName) {...}
我现在的问题是与Instance
,你可以注意到它调用构造函数没有参数,我试图改变它,但它没有工作:
public static Notifications Instance = new Notifications(
string connectionString,string hubName);
我该怎么做才能使Instance
调用构造函数并传递这两个参数?
Instance
不能访问这些参数值-它必须为它们提供值!
所以你可以这样做:
public static Notifications Instance = new Notifications("<conn string with full access>", "<hub name>");
听起来好像完全不需要Instance成员。您可能只是想使用一个非常普通的公共构造函数,然后可以在其中传递参数。这样的:
public class Notifications
{
public NotificationHubClient Hub { get; set; }
public Notifications(string connString, string hubName) {
Hub = NotificationHubClient.CreateClientFromConnectionString(
connString, hubName);
}
}