一旦路径匹配特定的需求或模式,我想执行特定的代码部分。我将从不同的插件中导入一些路径,这些路径将被搜索并整理出来,这对我的意图有用或无用。
我的想法是,一旦我从这些路径中获得匹配,我想创建此类的实例并调用它来返回view
。
我可以弄清楚能够传递一个委托并调用相应的代码,但仍然让我拿着一个指向该类的指针,我不想要。我想创建这个类的实例并调用所需的方法。
这是一个大纲:
public class TestView : IView
{
public void Render(ViewContext viewContext, System.IO.TextWriter writer) {}
}
class TestViewCreator
{
public IView CreateView(object Arguments)
{
return new TestView();
}
}
public class CentralStash
{
// T = TestViewCreator
// How do I describe the method I want to call (CreateView)?
public void RegisterPath<T>(string url, object Arguements)
{
}
public IView GetView(string url)
{
var viewCreator = ObjectFactory.GetInstance<T>();
//How do I call the method description on the type that I have jsut instanced?
return null;
}
}
我觉得我应该在这里使用路线,或者可能是表达方式?我知道这可以和代表们一起做,但是我不希望因为他们的指针而放置一些对象。
赞赏正确的方向。
更新
我可以创建界面:
public interface IViewCreator
{
public IView CreateView(object Arguments);
}
创建其中一个来调用CreateView
,但我希望能让它变得更强大。
答案 0 :(得分:0)
public IView GetView(string url)
{
object viewCreatorObj = ObjectFactory.GetInstance<T>();
TestViewCreator viewCreator=? viewCreatorObj as TestViewCreator;
return viewCreator.CreateView(null);
}