看看这个片段
public interface IExample<T>
{
IExample<T> Exposes<TInclude>()
where T : TInclude;
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找编译时间强制执行T可以转换为TInclude.可以进行运行时检查,但更喜欢它是编译时间.
以上抱怨T没有定义.
有什么建议?我正在尝试用C#泛型做什么?
改述你的问题:
它有可能使一个
where强制执行的约束条款TInclude是T或源自任何类型T.我正在寻求强制执行"相反方向"约束:那TInclude是T或者任何"基本类型"T.这可能吗?
不,C#不支持这种约束.抱歉.
有什么建议?
Scala支持我认为的那种约束.和Java一样,尽管Java的做法有点奇怪.但我想你不想改变语言.
您能否更详细地描述您希望通过此界面表示的概念?如果我们知道你想要做什么,那么给你提供务实的建议会更容易.
| 归档时间: |
|
| 查看次数: |
238 次 |
| 最近记录: |