【发布时间】:2018-10-30 17:26:28
【问题描述】:
我有许多具有这些实现的类:
internal static class WindowsServiceConfiguration<T, Y> where T : WindowsServiceJobContainer<Y>, new() where Y : IJob, new()
{
internal static void Create()
{
}
}
public class WindowsServiceJobContainer<T> : IWindowsService where T : IJob, new()
{
private T Job { get; } = new T();
private IJobExecutionContext ExecutionContext { get; }
public void Start()
{
}
public void Install()
{
}
public void Pause()
{
}
public void Resume()
{
}
public void Stop()
{
}
public void UnInstall()
{
}
}
public interface IWindowsService
{
void Start();
void Stop();
void Install();
void UnInstall();
void Pause();
void Resume();
}
public class SyncMarketCommisionsJob : IJob
{
public void Execute(IJobExecutionContext context)
{
}
}
public interface IJob
{
void Execute(IJobExecutionContext context);
}
我想通过反射调用WindowsServiceConfiguration静态类的Create()方法如下:
WindowsServiceConfiguration<WindowsServiceJobContainer<SyncMarketCommisionsJob>, SyncMarketCommisionsJob>.Create();
我不知道如何通过使用Activator 或类似的方法在我的C# 代码中调用Create 方法?
最好的问候。
【问题讨论】:
-
@SᴇM:这个问题不是Call static method with reflection的重复。这个问题与泛型类无关。答案相似但不一样。
标签: c# dynamic reflection generic-programming