首页 / 知识
关于c#:扩展方法不适用于接口
2023-04-16 12:58:00

Extension Methods not working for an interface受MVC店面的启发,我正在从事的最新项目是使用IQueryable上的扩展方法来过滤结果。 我有这个界面;
我有这个扩展方法
假设我有一个实现IPrimaryKey的类SimpleObj。 当我有一个SimpleObj的IQueryable时,除非我明确地将其转换为IPrimaryKey的IQueryable,否则不存在GetByID方法,这不理想。 我在这里想念什么吗?
只要正确完成,它就会起作用。 cfeduke的解决方案有效。 但是,您不必使
编辑:Konrad的解决方案更好,因为它更简单。 以下解决方案有效,但仅在类似于ObjectDataSource的情况下才需要,在ObjectDataSource中,通过反射检索类的方法而无需沿袭继承层次结构。 显然,这不是在这里发生。 这是可能的,当我设计用于与ObjectDataSource一起使用的自定义实体框架解决方案时,我不得不实现类似的模式:
使用摘要:
由于泛型没有遵循继承模式的能力,因此无法使用。 即。 IQueryable |
最新内容
相关内容
linux命令查看接口?
linux命令查看接口?,系统,设备,地址,网络,信息,电脑,软件,情况,命令,灵活,linux查看运行的端口命令以下是在Linux系统中查看端口占用情况的几linux转图像界面命令?
linux转图像界面命令?,系统,密码,电脑,工具,地方,界面,图形界面,软件,终端,命令,linux怎么从文字界面回图形界面首先我们打开Linux系统电脑,进linux扩展文件命令?
linux扩展文件命令?,工作,地址,系统,信息,命令,目录,管理,情况,文件,标准,Linux文件系统操作命令1、(1)根据文件名查找例如,我们想要查找一个文linux界面网络命令?
linux界面网络命令?,网络,工作,地址,系统,信息,命令,目录,管理,标准,状态,使用linux下提供的字符界面来设置网络命令为1、直接修改网络配置文linux命令行界面向上?
linux命令行界面向上?,系统,标准,工作,地址,环境,命令,管理,服务,较大,位置,linux命令有哪些特点linux命令行的特点?1、Linux支持多用户,各个用linux炫酷命令界面?
linux炫酷命令界面?,系统,环境,项目,在线,网络,基础知识,网上,网站,近几年,管理系统,linux怎么进入字符命令界面?打开linux系统,在linux的桌面linux打包项目命令?
linux打包项目命令?,项目,文件,命令,软件,数字,系统,名称,工具,目录,格式,Linux打包和压缩1、Linux下,常用打包命令有2个,分别是tar和dd;常用的压linux项目更新命令行?
linux项目更新命令行?,工作,地址,系统,数据,信息,项目,标准,电脑,目录,命令,linux常用的命令有哪些1、linux系统常用操作命令linux系统常用操linux命令界面输入法?
linux命令界面输入法?,系统,工具,信息,第三,软件,输入法,名字,盘后,语言,区域,linux怎么切换输入法1、在运用程序中,您需要找到“系统工具”并linux更改扩展命令?
linux更改扩展命令?,管理,地址,数据,工作,系统,在线,工具,命令,环境,单位,Linux命令有哪些1、linux常用命令如下:查看内核版本:uname-a。控制台-linux转为命令界面?
linux转为命令界面?,系统,密码,电脑,软件,界面,图形界面,控制台,终端,命令,模式,linux系统怎么从图形界面进入命令界面?1、Linux命令行模式切linux命令行界面汉化?
linux命令行界面汉化?,系统,标准,软件,网上,管理,工具,电脑,底部,服务,项目,xshell命令行界面怎么显示中文?1、解决方法其实很简单的,即把xshel