草庐IT

necesssary

全部标签

c# - 无法转换类型 : why is it necesssary to cast twice?

鉴于这个高度简化的例子:abstractclassAnimal{}classDog:Animal{publicvoidBark(){}}classCat:Animal{publicvoidMew(){}}classSoundRecorderwhereT:Animal{privatereadonlyT_animal;publicSoundRecorder(Tanimal){_animal=animal;}publicvoidRecordSound(stringfact){if(this._animalisDog){((Dog)this._animal).Bark();//Compiler