首页 新闻 会员 周边

请解释一下这段c#代码?多谢

0
悬赏园豆:5 [已解决问题] 解决于 2015-01-07 09:31
public class ManagerBaseController<TIService, TService, TEntity> : PermissionsController
        where TIService : IBaseService<TEntity>
        where TService : TIService, new()
        where TEntity : class, new()
c#
simadi的主页 simadi | 初学一级 | 园豆:134
提问于:2014-06-26 09:15
< >
分享
最佳答案
1

ManagerBaseController这个类使用了泛型,你在实例化的时候需要指定这三个类型TIService, TService, TEntity

后面的where 是对这三个类型做了限制,where TIService : IBaseService<TEntity>这个意思是说TIService这个类型必须是继承 IBaseService<TEntity>的。where TEntity : class, new()是说TEntity必须是一个类,后面的new()这个类必须要有无参的或者默认的构造参数。

收获园豆:5
Alex_QY1987 | 小虾三级 |园豆:1888 | 2014-06-26 13:04

楼上的应该是楼主想要的解释

hailants | 园豆:750 (小虾三级) | 2014-06-28 22:15
其他回答(6)
0

这代码是谁写的?

Launcher | 园豆:45045 (高人七级) | 2014-06-26 09:24

不是我

支持(0) 反对(0) simadi | 园豆:134 (初学一级) | 2014-06-26 09:34

@simadi: 不是你写的,那你从哪儿抄来的?

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-06-26 09:35

@Launcher:  咱直接切入正题好不好?纠缠这个有啥用??

支持(0) 反对(0) simadi | 园豆:134 (初学一级) | 2014-06-26 09:44

@simadi:   因为我想知道你到底想得到什么样的解释。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-06-26 09:46
支持(0) 反对(0) simadi | 园豆:134 (初学一级) | 2014-06-26 09:49

@simadi: 这段涉及到以下几点:

1、继承;

2、泛型;

3、泛型约束;

你想让我解释哪个?

支持(1) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-06-26 09:53

@Launcher: 楼主 Launcher说的很对 这里包括这个几个知识

支持(0) 反对(0) s_p | 园豆:138 (初学一级) | 2014-06-26 22:13
0

感觉这种问题多了不是好事.

吴瑞祥 | 园豆:29449 (高人七级) | 2014-06-26 11:20
0

这要知道业务才能知道这段代码的意义,否则解释都太表面,意义不大

骷髅人 | 园豆:464 (菜鸟二级) | 2014-06-26 17:46
0

泛型约束

where TIService : IBaseService<TEntity> 必须继承它

where TService : TIService, new() 必须继承TIService并且是可以new的

where TEntity : class, new()  一个可以实例化(new)的类

把代码再站出来点,看看玩啥呢是

老张一笑 | 园豆:215 (菜鸟二级) | 2014-07-03 15:45
0

看命名,估计是权限控制,小白告辞!

潮流还是非主流 | 园豆:306 (菜鸟二级) | 2014-08-22 09:39
0

从字面上理解,public class ManagerBaseController<TIService, TService, TEntity> : PermissionsController

继承PermissionsController,而后面的 where TIService : IBaseService<TEntity> where TService : TIService, new() where TEntity : class, new() 就是对上面泛型类里的参数做了约束。

豌豆夹 | 园豆:6 (初学一级) | 2014-09-04 16:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册