extension-methods - LINQPad 在扩展方法中访问内置 DataContext

标签 extension-methods linqpad

我可以在我的扩展方法中访问this对象吗?

到目前为止,这是我所拥有的:

void Main() {

    IQueryable<DataContextTable> list = DataContextTables.First().NewMethod(this);

}

public static class ExtensionMethods {

    public static IQueryable<DataContextTable> NewMethod(this DataContextTable table, TypedDataContext context) {
        return context.DataContextTables.Where(item => item.SomeProperty == true).AsQqueryable();
    }

}

如您所见,我仍然需要将 TypedDataContext 作为参数传递给我的扩展方法。我还有其他方法可以做到这一点吗?

最佳答案

我创建了一个 TypedDataSet 类型的静态成员,并在 Main() 函数中使用 this.

void Main() {

    ExtensionMethods.Context = this;
    IQueryable<DataContextTable> list = DataContextTables.First().NewMethod(this);

}

public static class ExtensionMethods {

    public static TypedDataSet Context;

    public static IQueryable<DataContextTable> NewMethod(this DataContextTable table) {
        return Context.DataContextTables.Where(item => item.SomeProperty == true);
    }

}

关于extension-methods - LINQPad 在扩展方法中访问内置 DataContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6612961/

相关文章:

swift - 在 Swift 中,如何使用泛型扩展协议(protocol)?

asp.net-mvc - 如何在mvc中编写分页的扩展方法

c# - 切换替代/可扩展编程良好实践?

java - 有没有类似 LINQPad for Java 的程序? (不是重复的!)

linqpad - 是否可以在 LinqPad 中引用 .linq 文件

c# - LINQPad 在我的类型化数据上下文中调用 dispose

c# - 如何在 LINQ 中比较两个匿名变量列表

LINQPad脚本目录?

python - 如何从 .pyo 文件恢复源 python 代码 (.py)?

c# - ASP.NET Core - DI - 使用 Action<T> 或 IOption<T>