C#泛型入门问题
时间:2011-12-09
来源:互联网
public class MyClass<T>
{
public T m_data = new T(); 能否在这里new T()?
public void foo(){m_data.foo();} 能否调用T类型的foo成员函数?
}
作者: Cowboy22 发布时间: 2011-12-09
可以
public void foo(){m_data.foo();} 能否调用T类型的foo成员函数?
不可以
作者: Sandy945 发布时间: 2011-12-09
{
public T m_data = new T();
public String MyToString(){return m_data.ToString();}
}
new T()也不行,通不过:
错误 2 变量类型“T”没有 new() 约束,因此无法创建该类型的实例 E:\lib\wince\protocolLib\PktParser.cs 27 27 protocolLib
作者: Cowboy22 发布时间: 2011-12-09
=>
public class MyNode<T> where T: new ()
作者: Sandy945 发布时间: 2011-12-09
作者: Cowboy22 发布时间: 2011-12-09
作者: Cowboy22 发布时间: 2011-12-09
dynamic
作者: Sandy945 发布时间: 2011-12-09
作者: Cowboy22 发布时间: 2011-12-09
public class MyNode<T>where T:new()
{
public T m_data = new T();
public String MyToString(){return m_data.ToString();}
public void foo() {
dynamic data = m_data;
data.foo();
}
}
但还报错:
错误 2 找不到类型或命名空间名称“dynamic”(是否缺少 using 指令或程序集引用?) E:\lib\wince\protocolLib\PktParser.cs 30 13 protocolLib
查到C#4.0中引入了动态类型机制,我是vs2005,不知支不支持C#2.0?
作者: Cowboy22 发布时间: 2011-12-09
作者: hefeng_aspnet 发布时间: 2011-12-09
作者: Sandy945 发布时间: 2011-12-09
作者: Cowboy22 发布时间: 2011-12-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28