C# 局部类枚举扩展方法
我在自定义枚举类型上创建了一个extension方法,如C# 局部类枚举扩展方法,c#,.net,C#,.net,我在自定义枚举类型上创建了一个extension方法,如 public static class GetLocEnum { private static string Translate(this MyEnum e, int lang) { string res = string.Empty; if (lang == 1) { switch (e) {
public static class GetLocEnum
{
private static string Translate(this MyEnum e, int lang)
{
string res = string.Empty;
if (lang == 1)
{
switch (e)
{
case MyEnum.OptionOne:
res = "some title";
break;
case MyEnum.OptionTwo:
res = "some title 2";
break;
case MyEnum.OptionThree:
res = "some title 3";
break;
}
}
// more if's ...
return res;
}
}
为什么我现在不能在
MyEnum.Translate()
中将其用作扩展?这只是因为它是私有的!如果要在其他地方使用,请将其更改为public 这只是因为它是私人的!如果要在其他地方使用,请将其更改为public 以下是一个关于本地化和枚举的示例,以供参考。接受的答案显示了一种很好的、灵活的方法来本地化您的单个枚举值。将访问修饰符更改为public
您应该始终显示一个完整的示例(您实际上没有显示如何调用它)以及您接收到的确切错误消息。如果这是在同一个项目中,我希望编译器错误消息会有所帮助。接受的答案显示了一种很好的、灵活的方法来本地化您的单个枚举值。将访问修饰符更改为public
您应该始终显示一个完整的示例(您实际上没有显示如何调用它)以及您接收到的确切错误消息。如果这是在同一个项目中,我希望编译器错误消息会有所帮助。