加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么Visual Studio的intellisense不能用于派生类?

发布时间:2020-12-15 20:00:13 所属栏目:百科 来源:网络整理
导读:以下是我正在使用的代码示例: BaseClass class1; if (userControl.Key == 100) { class1 = new DerivedClass1(); //This does not work,but it seems like it should class1.PropertyInDerivedClass1 = 7 //This does work,but why should I have to cast s
以下是我正在使用的代码示例:

BaseClass class1;
    if (userControl.Key == 100)
    {
        class1 = new DerivedClass1();

        //This does not work,but it seems like it should
        class1.PropertyInDerivedClass1 = 7

        //This does work,but why should I have to cast something that I just instantiated?
        ((DerivedClass1)class1).PropertyInDerivedClass1 = 7;
    }
    else
        class1 = new DerivedClass2();

为了能够更轻松地访问派生类中的属性和方法,我能做些什么吗?

解决方法

如果您希望使用派生类的变量,则需要使用具有该特定类型的引用来解决它们.

BaseClass obj1; 
DerivedClass dc = new DerivedClass(); 
dc.DerivedPropertyToAccess = value; 
obj1 = dc;

总而言之,示例代码中的错误是使用带有基类类型而不是派生类的引用来访问属性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读