我有一个名为 Rack 的抽象基类,我有不同类型的机架,它们是 Rack 的子类。我希望能够将通用 C# 对象动态转换为 Rack 类的不同子级,以便调用所有子级作为方法的正确 getData 方法。这是我到目前为止所拥有的。
下面的代码调用 Rack 基类中的虚方法。我需要它来调用 Rack 子类中的方法。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
namespace IO_Interface
{
class Channel
{
private object rack1;
private object rack2;
public Channel()
{
}
public Channel(object h1, object h2)
{
rack1 = h1;
rack2 = h2;
}
public void send()
{
Type rack1Info = rack1.GetType();
Type rack2Info = rack2.GetType();
string name = rack1.ToString();
MethodInfo castMethod = rack1.GetType().GetMethod("getData").;
castMethod.Invoke(rack1.GetType(), null);
}
}
}`