CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

是不是继承的问题?帮忙看一下。

楼主qinjiana0789(在csdn提高很快的程序员)2005-04-03 16:41:30 在 .NET技术 / ASP.NET 提问

请教提示语法错误:“WayControls.WayCheckFormItemCollection”并不包含对“LoadViewState”的定义  
   
  错在哪里?请指教。以下为代码  
  出错的文件内容:  
  namespace   WayControls  
  。。。  
  public   class   WayCheckForm   :   WebControl  
   
  。。。  
  protected   override   void   LoadViewState(object   savedState)  
                  {  
                          if   (savedState   !=   null)  
                          {  
                                  object[]   objArray1   =   (object[])   savedState;  
                                  base.LoadViewState(objArray1[0]);  
                                  this.Items.LoadViewState(objArray1[1]);  
   
                          }  
                  }  
  。。。  
  public   WayCheckFormItemCollection   Items  
                  {  
                          get  
                          {  
                                  return   this._Items;  
                          }  
                          set  
                          {  
                                  this._Items   =   value;  
                          }  
                  }  
  WayCheckFormItemCollection在另一个文件中:  
  namespace   WayControls  
  。。。  
  public   class   WayCheckFormItemCollection   :   WayCollectionBase  
   
  WayCollectionBase在另一个文件中:  
  namespace   WayControls  
  。。。  
  public   class   WayCollectionBase   :   CollectionBase,   IStateManager  
  。。。  
  void   IStateManager.LoadViewState(object   savedState)  
                  {  
                          。。。  
                  }  
   
  几个文件都出现这样的错误了。怎么改?  
  问题点数:20、回复次数:6Top

1 楼qinjiana0789(在csdn提高很快的程序员)回复于 2005-04-03 16:52:12 得分 0

顶,为了解决。Top

2 楼qinjiana0789(在csdn提高很快的程序员)回复于 2005-04-03 16:52:30 得分 0

up,等着。Top

3 楼yananfu2000(安子)回复于 2005-04-03 17:06:47 得分 0

LoadViewState()是继承WebControl之后这个类才具有的方法  
  在你这里的那个this.Items这是一个集合   而不是具体的那一个继承于WebControl的对象  
  你可以这样this.Items[0].LoadViewState()应该就没有问题了  
  这里可能需要强制转换一下     应为LoadViewState方法是Control类的一个方法Top

4 楼xzq686(★_瞬_★)回复于 2005-04-03 17:48:09 得分 0

public   class   WayCheckFormItemCollection   :   WayCollectionBase  
  {  
  //这个类里面重载一下LoadViewState方法试试  
  protected   override   void   LoadViewState(object   savedState)  
                  {  
                          base.OnPreRender(savedState);  
                  }  
   
  }Top

5 楼cuike519(I will be back!)回复于 2005-04-03 21:34:22 得分 15

这是类型的问题,请尝试如下的方法,做类型转换:  
  public   class   WayCheckFormItemCollection   :   WayCollectionBase{  
        public   void   LoadViewState(object   state){  
              ((IStateManager)this).LoadViewState(state);  
        }  
  }Top

6 楼cuike519(I will be back!)回复于 2005-04-04 07:56:18 得分 5

你实现的是一个显式的接口实现,也就是通常我们所说的私有接口实现,这个和公共接口实现是不同的,所以你要通过上面的显式类型转换才可以调用其子类的接口方法,或者改成公共接口实现,即在实现接口IStateManager的时候方法LoadViewState前面不要添加IStateManager限定,直接使用LoadViewState即可!Top

相关问题

  • 帮我看一下是不是非法?
  • 不是很清楚 帮忙看一下
  • 关于虚拟继承,麻烦大家帮看一下两行*中间的语句是什么意思??
  • 有essentialC++的朋友看一下,这里是不是错了?
  • 大家看一下这个是不是Visual SourceSafe 6.0 Server ?
  • 各位看一下,这个是不是appfuse的安全漏洞?
  • 爱国的来看一下(绝对不是广告)
  • 谁能帮我看一下这道题,不是很难的
  • 同志们还是不行呀`!~再帮忙看一下吧~!~
  • 幫忙看一下是不數據庫權限問題啊?

关键词

  • 接口
  • 文件
  • loadviewstate
  • waycheckformitemcollection
  • savedstate
  • waycontrols
  • istatemanager
  • waycollectionbase
  • 继承
  • objarray1

得分解答快速导航

  • 帖主:qinjiana0789
  • cuike519
  • cuike519

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo