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

Aar*_*ron 3 .net c# oop inheritance visual-studio

以下是我正在使用的代码示例:

    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();
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*nna 12

  1. 选一个随机的人.让他们吃一把剑.
  2. 选择一个随机的剑吞噬者.让他们吃一把剑.

第二个结果是为所有人提供娱乐.血液,诉讼和最终被监禁中的第一个.

当然,一个随机的人可能是一个剑吞噬者,但如果你不知道他们那么你就不能安全地让他们吃剑.Person除非通过SwordSwallower引用处理它们,否则编译器不会生成类吃剑的实例.