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不能用于派生类?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)