假设我想创建一个接受枚举而不是字符串的方法,因此我可以指定一个参数,而不是编写表示传递参数的字符串值。
例如,假设mods是名称字符串,因此每个变体都有自己的项目,并且必须对所选项目进行调用。
public void DoWithMode(chosenMod parModifier)
{
string SelectedM = parModifier.ToString();
dedicateLineTo(Seleted...) or something
}
public class Com
{
public enum chosenMode{dummy1, dummy2};
}
public class Tel:Com
{
public new emum chosenMode {Telmod1, Telmod2};
public Tel
{
DoWithMode(chosenMode.Tel1mode);
}
}
class fax:Com
{
emum new chosenMode {Faxmod1, Faxmod2};
public fax
{
DoWithMode(chosenMode.Faxmod2);
}
}
如果我想制作通用ChosenMode
该怎么办?比方说,电话和传真有Do()
方法的一些常见用法,我可以做一些覆盖,但这只有两种,如果我有20个或更多的类,每个都有自己的项目通过?
所以它只是字符串或方法覆盖虽然我在考虑使用enum而不是一类const字符串。
此案例的解决方法是什么?
我可以使用enum类型做其他事情,但是intellisense不会自动建议它所以我需要写一些像
DoSomething(namespaceA.classT.subclassV.classX....class.modifier.item)