c# createinstance用于多态的场景

avatar
作者
筋斗云
阅读量:0

在C#中,可以使用Activator.CreateInstance方法来创建实例,从而实现多态的场景。下面是一个简单的示例:

using System;  public class Animal {     public virtual void Speak()     {         Console.WriteLine("Animal speaks.");     } }  public class Dog : Animal {     public override void Speak()     {         Console.WriteLine("Dog barks.");     } }  public class Cat : Animal {     public override void Speak()     {         Console.WriteLine("Cat meows.");     } }  class Program {     static void Main()     {         Animal animal1 = (Animal)Activator.CreateInstance(typeof(Dog));         animal1.Speak(); // Output: Dog barks          Animal animal2 = (Animal)Activator.CreateInstance(typeof(Cat));         animal2.Speak(); // Output: Cat meows     } } 

在这个示例中,通过Activator.CreateInstance方法分别创建了DogCat的实例,并且将它们都存储在Animal类型的变量中。然后调用Speak方法时,会根据实际的对象类型来执行相应的方法,实现了多态。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!