在 C# 中使用字符串 属性 值作为另一个 class 的声明实例
Use a string property value as another class's declared instance in C#
我想使用 Order
class 的 MarketSymbol
属性 的值来调用 Market
class 中的方法,
Order
class 是:
public class Order
{
public string MarketSymbol { get; set; }
}
MarketSymbol
恰好是 ETH_USDT 或 BTC_USDT.
它们是 Market
class,
的确切实例
var ETH_USDT = new Market();
var BTC_USDT = new Market();
所以在尝试调用 Market
中的方法时,它是:
public class Market
{
public Market()
{
// some code
}
public SimpleMethod()
{
// some code
}
}
我想用MarketSymbol
的值调用Market
里面的方法class
这是因为我不想使用 switch case 或多个 if 条件,
我也想知道这样做是否错误
如果我没理解错的话,我想你可以制作一个市场字典,其中的键是一个字符串。
考虑示例:
// Your class with some functions
public class Market
{
public Market()
{
}
public void SomeMethod()
{
}
}
创建您的 Market
对象并填充字典。在这里,您可以使用要用于 MarketSymbol
:
的字符串
Market BTC_USDT = new Market();
Market ETH_USDT = new Market();
Dictionary<string, Market> Markets = new Dictionary<string, Market>();
Markets.Add("BTC_USDT", BTC_USDT);
Markets.Add("ETH_USDT", ETH_USDT);
现在您可以访问字典中的所有市场,只需将该字符串用作索引器,无需大小写或其他任何内容:
Markets["BTC_USDT"].SomeMethod();
我想使用 Order
class 的 MarketSymbol
属性 的值来调用 Market
class 中的方法,
Order
class 是:
public class Order
{
public string MarketSymbol { get; set; }
}
MarketSymbol
恰好是 ETH_USDT 或 BTC_USDT.
它们是 Market
class,
var ETH_USDT = new Market();
var BTC_USDT = new Market();
所以在尝试调用 Market
中的方法时,它是:
public class Market
{
public Market()
{
// some code
}
public SimpleMethod()
{
// some code
}
}
我想用MarketSymbol
的值调用Market
里面的方法class
这是因为我不想使用 switch case 或多个 if 条件, 我也想知道这样做是否错误
如果我没理解错的话,我想你可以制作一个市场字典,其中的键是一个字符串。
考虑示例:
// Your class with some functions
public class Market
{
public Market()
{
}
public void SomeMethod()
{
}
}
创建您的 Market
对象并填充字典。在这里,您可以使用要用于 MarketSymbol
:
Market BTC_USDT = new Market();
Market ETH_USDT = new Market();
Dictionary<string, Market> Markets = new Dictionary<string, Market>();
Markets.Add("BTC_USDT", BTC_USDT);
Markets.Add("ETH_USDT", ETH_USDT);
现在您可以访问字典中的所有市场,只需将该字符串用作索引器,无需大小写或其他任何内容:
Markets["BTC_USDT"].SomeMethod();