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

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

概述以下是我正在使用的代码示例: BaseClass class1; if (userControl.Key == 100) { class1 = new DerivedClass1(); //This does not work, but it seems like it should class1.PropertyInDerived 以下是我正在使用的代码示例:

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;

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

总结

以上是内存溢出为你收集整理的c# – 为什么Visual Studio的intellisense不能用于派生类?全部内容,希望文章能够帮你解决c# – 为什么Visual Studio的intellisense不能用于派生类?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1225574.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存