首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Linq表达式混淆与延迟执行

Linq表达式混淆与延迟执行
EN

Stack Overflow用户
提问于 2009-02-05 14:56:44
回答 1查看 275关注 0票数 0

一旦路径与特定的需求或模式匹配,我就想执行代码的特定部分。我将从不同的插件中导入一些路径,这些路径将被搜索并排序出对我的意图有用或不有用的路径。

这个想法是,一旦我从这些路径中得到匹配,我想创建这个类的一个实例,并调用它的方法来返回一个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,但我希望使其更强大。

EN

回答 1

Stack Overflow用户

发布于 2013-07-29 17:10:42

public IView GetView(string url)
{
    object viewCreatorObj = ObjectFactory.GetInstance<T>();
    TestViewCreator viewCreator=? viewCreatorObj as TestViewCreator;

    return viewCreator.CreateView(null);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/516229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档