首页 新闻 赞助 找找看

c# 字段可以用泛型约束吗 可以的话怎么用

0
悬赏园豆:10 [已解决问题] 解决于 2020-08-03 16:57

c# 字段可以用泛型约束吗 可以的话怎么用。。。。。。。。。。。。。。。。。

天不遮我的主页 天不遮我 | 初学一级 | 园豆:66
提问于:2020-08-03 16:16
< >
分享
最佳答案
0
class Foo<T>
    where T : new()
{
    public T TField;
}

只能这样,如果你要直接约束字段,你想一下这个类怎么new一个对象出来

收获园豆:10
拓拓 | 小虾三级 |园豆:1050 | 2020-08-03 16:51

那我只能用obj了

天不遮我 | 园豆:66 (初学一级) | 2020-08-03 16:57
其他回答(2)
0

public class A<T> where T : class,new()
{
public T Field{get;set;}
public string Field2{get;set;}
}

flyfishing | 园豆:943 (小虾三级) | 2020-08-03 16:32

我不想在class上加约束
public T Field where T : class;
想这样 能实现吗

支持(0) 反对(0) 天不遮我 | 园豆:66 (初学一级) | 2020-08-03 16:42
0

我觉得楼上的说的挺好,不知道楼主的具体需求是啥。如果楼上的不行,楼主试试用泛型方法代替字段:

    class Program
    {
        public T Get<T>(T t) where T:class{
            return null;
        }

        public void Set<T>(T t) where T : class
        {

        }
    }
会长 | 园豆:12401 (专家六级) | 2020-08-03 17:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册