关于枚举(enum)

freeflying1222 2009-03-13 08:46:59
我想把用枚举值作为方法参数,因为比较方便。.net里很多方法也是这样的,但实现不了。



static class SimpleFac
{
public enum TypeStr
{
car,
boat
}

public static Ab_vechile GetVehcle(Enum e)
{
Ab_vechile v;

//想根据传入的枚举值返回创建的对象,错误提示要求输入整型值
switch (e)
{
case TypeStr.car:
v = new car();
break;
case TypeStr.boat:
v = new boat();
break;
default:
//想只打印一个提示,不创建对象,运行时也会报错,NullReferenceException
Console.WriteLine("输入错误!");
break;
}
return new car();
}


}

class Program
{
static void Main(string[] args)
{
//传入枚举值
Ab_vechile v = SimpleFac.GetVehcle(SimpleFac.TypeStr.car);
v.Run();
}


}


另外,default里的问题有办法解决么?
...全文
49 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-03-13
  • 打赏
  • 举报
回复
public static Ab_vechile GetVehcle(TypeStr e)
{

}
gisyellow 2009-03-13
  • 打赏
  • 举报
回复
参数类型错了,应该是TypeStr不是Enum
freeflying1222 2009-03-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 vrhero 的回复:]
public static Ab_vechile GetVehcle(TypeStr e)//Enum是基类...分清楚...
[/Quote]
靠!第n次了。
vrhero 2009-03-13
  • 打赏
  • 举报
回复
public static Ab_vechile GetVehcle(TypeStr e)//Enum是基类...分清楚...

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧