给定一个简单的界面

public interface IIdTracker
{
    int Id { get; }
}


我有两个实现它的类

public class human : IIdTracker
{
    public int Id { return 0; }
}

public class robot : IIdTracker
{
    public int Id { return 1; }
}


我如何在不知道谁或什么实现IIdTracker的情况下实例化作为IIdTracker传递的类?

public void TrackId(IIdTracker idt)
{
    // this is the code I am not sure of
    var being = new idt.GetType();
}

最佳答案

经过研究,我发现

var being = Activator.CreateInstance(idt.GetType()) as IIdTracker;


作为解决方案。

09-11 12:22