判断接口类型问题

Neusoft06 2013-11-29 02:31:07
List<IState> stateList
{
get;
set;
}

for (int i = 0; i < stateList.Count; i++)
{
// 这里应该怎么写??
var t = this.CurrentState as stateList[1].GetType();
}
...全文
207 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
devmiao 2013-11-29
  • 打赏
  • 举报
回复
Type type = list.GetType().GetGenericArguments()[0]; 只要判断一次就可以了。
RenYueHD 2013-11-29
  • 打赏
  • 举报
回复
你的程序设计有问题 你想判断当前的CurrentState的类型是否是某个对象的类型,如果是的话就转成那个类型 为什么要这么做啊?
Neusoft06 2013-11-29
  • 打赏
  • 举报
回复
谁能给个状态模型的例子呀
Neusoft06 2013-11-29
  • 打赏
  • 举报
回复
我这样做了 for (int i = 0; i < stateList.Count; i++) { if (this.Mode.ToString() == stateList[i].state) { return stateList[i]; } }
Neusoft06 2013-11-29
  • 打赏
  • 举报
回复
public IState CurrentState; public StateManager() { this.stateList = new List<IState>() { new SettingState(), new CountUpState(), new StopState(), new CountDownState() }; }
bdmh 2013-11-29
  • 打赏
  • 举报
回复
CurrentState是什么东,如果要转为指定类型 stateList[1] as xxxx

110,536

社区成员

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

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

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