使用对象实例将 T 类型发送到方法

Send T type to method with an object Instance

如果我不能解释我的问题,我很抱歉,但这对我来说很难。

我正在尝试将 T class 发送到我的方法,但我无法直接访问我的对象,因此,我想使用该名称来创建具有反射的实例,但我不知道如何将 class T 发送到我的方法。

这是我的方法的定义

void RedirectToActivity<T>(bool closePrevious); 

我有调用它的代码

var activity = Activator.CreateInstance("myassembly", "MainActivity");
RedirectToActivity<????>(true);

在第一行中,我创建了 class MainActivity.

的实例

在第二行我需要发送 MainActivity class,并像 RedirectToActivity 中的 T 对象一样接收它,但我不知道如何实现这个。

我需要这样的...

RedirectToActivity<MainActivity>(true);

但我无法直接访问 MainActivity class。

我试过了

RedirectToActivity<activity.GetType()>(true);
RedirectToActivity<typeof(activity)>(true);

但不起作用。

您能否向 RedirectToActivity 方法添加一个通用参数参数?

void RedirectToActivity<T>(T activity, bool closePrevious)
{
    // Do Stuff here
}

然后将您的 activity 实例传递到:

var activity = Activator.CreateInstance<MainActivity>();
RedirectToActivity(activity, true);