namespace Core { public sealed class CoreInterface { private readonly EntryPoint entryPoint; internal CoreInterface(EntryPoint entryPoint) { this.entryPoint = entryPoint; } public T GetPlugin() where T : IProjectPlugin { return entryPoint.GetPlugin(); } } }