访问具有IOptions构造函数的类的方法<&燃气轮机;在c#NETCore中
我有一个类文件:BandUtil.cs访问具有IOptions构造函数的类的方法<&燃气轮机;在c#NETCore中,c#,.net,asp.net-core,.net-core,C#,.net,Asp.net Core,.net Core,我有一个类文件:BandUtil.cs public class BandUtil { private readonly IOptions<BandSettings> _bandOptions; public BandUtil (IOptions<BandSettings> bandOptions) { _bandOptions= bandOptions; }
public class BandUtil
{
private readonly IOptions<BandSettings> _bandOptions;
public BandUtil (IOptions<BandSettings> bandOptions)
{
_bandOptions= bandOptions;
}
public BandSettings BandValues()
{
return _bandOptions.Value;
}
public Client Client()
{
return new Client(BandValues().UserID, BandValues().ApiToken,BandValues().ApiSecret);
}
}
公共类BandUtil
{
私有只读IOptions\u bandOptions;
public BandUtil(选项)
{
_波段选项=波段选项;
}
公共波段设置波段值()
{
返回_bandOptions.Value;
}
公共客户机()
{
返回新客户端(BandValues().UserID,BandValues().apitonk,BandValues().ApiSecret);
}
}
我有另一门课,BandTest.cs
public class BandUtil
{
private readonly IOptions<BandSettings> _bandOptions;
public BandUtil (IOptions<BandSettings> bandOptions)
{
_bandOptions= bandOptions;
}
public BandSettings BandValues()
{
return _bandOptions.Value;
}
public Client Client()
{
return new Client(BandValues().UserID, BandValues().ApiToken,BandValues().ApiSecret);
}
}
在这个类BandTest.cs中,我试图从BandUtil类访问Client()方法
我尝试了多种选择,但无法解决它。
有人能给我介绍一下吗?我看到的第一个问题是构造函数(BandWithClient)与类名(BandUtil)不匹配 我不确定还有什么问题,但这里有一个快速而肮脏的娱乐节目,展示了如何使用Client()
使用系统;
公开课{
公共T值{get;set;}
}
公共类设置{
公共字符串用户标识{get;set;}
公共字符串ApiToken{get;set;}
公共字符串ApiSecret{get;set;}
}
公共类客户端{
公共客户端(字符串userId、字符串apiToken、字符串secret){
}
}
公共类BandUtil
{
私有只读IOptions\u bandOptions;
public BandUtil(选项)
{
_波段选项=波段选项;
}
公共波段设置波段值()
{
返回_bandOptions.Value;
}
公共客户机()
{
返回新客户端(BandValues().UserID,BandValues().apitonk,BandValues().ApiSecret);
}
}
公共课程
{
公共静态void Main()
{
var bandSettings=新的bandSettings{
UserID=“Foo”,
ApiToken=“Baz”,
ApiSecret=“Bar”
};
var options=new IOptions{Value=bandSettings};
var util=新的BandUtil(选项);
var client=util.client();
}
}
这里有一个dotnetfiddle与上面的代码:我看到的第一个问题是构造函数(BandWithClient)与类名(BandUtil)不匹配 我不确定还有什么问题,但这里有一个快速而肮脏的娱乐节目,展示了如何使用Client()
使用系统;
公开课{
公共T值{get;set;}
}
公共类设置{
公共字符串用户标识{get;set;}
公共字符串ApiToken{get;set;}
公共字符串ApiSecret{get;set;}
}
公共类客户端{
公共客户端(字符串userId、字符串apiToken、字符串secret){
}
}
公共类BandUtil
{
私有只读IOptions\u bandOptions;
public BandUtil(选项)
{
_波段选项=波段选项;
}
公共波段设置波段值()
{
返回_bandOptions.Value;
}
公共客户机()
{
返回新客户端(BandValues().UserID,BandValues().apitonk,BandValues().ApiSecret);
}
}
公共课程
{
公共静态void Main()
{
var bandSettings=新的bandSettings{
UserID=“Foo”,
ApiToken=“Baz”,
ApiSecret=“Bar”
};
var options=new IOptions{Value=bandSettings};
var util=新的BandUtil(选项);
var client=util.client();
}
}
这里有一个dotnetfiddle与上面的代码:您需要
public-BandUtil(IOptions-bandOptions)
或void
返回类型,使其成为setter方法:
public void带宽客户端(IOOptions带宽选项)
BandTest.cs
文件中:
var bandSettings=新的bandSettings();
var bandOptions=新选项包装器(带设置);
var bandUtil=新的bandUtil(bandOptions);
var client=bandUtil.client();
如果选择选项2,请将其添加到BandTest.cs
文件中:
var-bandUtil=new-bandUtil();
var bandSettings=新的bandSettings();
var bandOptions=新选项包装器(带设置);
bandUtil.BandWidthClient(带宽选项);
var client=bandUtil.client();
您需要
public-BandUtil(IOptions-bandOptions)
或void
返回类型,使其成为setter方法:
public void带宽客户端(IOOptions带宽选项)
BandTest.cs
文件中:
var bandSettings=新的bandSettings();
var bandOptions=新选项包装器(带设置);
var bandUtil=新的bandUtil(bandOptions);
var client=bandUtil.client();
如果选择选项2,请将其添加到BandTest.cs
文件中:
var-bandUtil=new-bandUtil();
var bandSettings=新的bandSettings();
var bandOptions=新选项包装器(带设置);
bandUtil.BandWidthClient(带宽选项);
var client=bandUtil.client();
您可以分享如何尝试访问它吗?您可以分享如何尝试从代码中的BandUtil类访问Client()方法。您可以分享如何尝试访问它吗?您可以分享如何尝试访问Client()方法吗方法。您不能实例化接口。非常感谢您回复@harleybl@crgolden-我将IOptions接口模拟为一个类,以生成一些自包含且可编译的东西。您不能实例化接口。非常感谢您回复@harleybl@crgolden-我将IOptions接口模拟为