对.net 2.0失望啊失望啊失望啊失望啊失望啊

wylcy 2005-11-10 04:45:56
刚听到泛型啊(自以为能用上C++的模版功能了),操作符重载啊,类型转换重载啊,我是那个激动啊兴奋啊,心想.net的语法终于拨云见日可以和c++媲美啦。哪知道 一用才发现~~~~~~

写个类叫TestClass

Public Shared Widening Operator CType(ByVal tc As TestClass) As String
return "爽爽爽"
End Operator

--------------------------------------------------------------------------------------
做个测试
dim s as string
dim tc as new TestClass
s=tc

编译pass,执行pass
爽了一把

--------------------------------------------------------------------------------------
dim s as string
dim obj as object
dim tc as new new TestClass
obj=tc
s=obj

编译通过
执行
Unhandled Exception: System.InvalidCastException: Conversion from type 'TestClas
s' to type 'String' is not valid.
at Microsoft.VisualBasic.CompilerServices.Conversions.ToString(Object Value)

操!!Conversion from type 'TestClass' to type 'String' is not valid
明明可以转换,却说无法从TestClass转为String,睁眼说瞎话啊
--------------------------------------------------------------------------------------


受了一个小打击,算了,去那个被宣传的神乎其神的泛型上找点安慰吧
创建泛型函数
public sub ShowItem(of ItemType)(byval Item as ItemType)
dim s as string
s=item
console.writeline(s)
end sub

---------------------------------------------------------------------------------------
dim tc as new TestClass
ShowItem(tc)

编译:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\a.vb(21) : error BC30311: Value of
type 'ItemType' cannot be converted to 'String'.

s=item
~~~~
晕,第一次玩就受打击,Value of type 'ItemType' cannot be converted to 'String'.看来想把不知类型的东东转化为某个类型是不可能的了,即使你重载了装换。

----------------------------------------------------------------------------------------


还是玩玩操作符重载吧

Public Shared Operator >(byval a as TestClass,byval b as TestClass) as Boolean
return true
end Operator


Public Shared Operator <(byval a as TestClass,byval b as TestClass) as Boolean
return false
end Operator

------------------------------------------------------------------------------------
因为受了刚才的打击,不敢随便玩泛型了
写个简单的
sub Test(byval a as object,b as object)
console.writeline(ctype(a,string))
end sub

dim a as new TestClass
dim b as new TestClass
Test(a,b)
编译pass,运行pass,不容易,那个操作重载的功能,看来还是有用的
--------------------------------------------------------------------------------------
被鼓励了一次,还是不能忘了那个泛型老大啊

public sub Test(of ItemType)(byval a as ItemType,byval b as ItemType)
console.writeline(a>b)
end sub

这种写法充分体现了模版语法的优势,你可以写个容器,里面放各种类型的东西,同时还可以对其进行排序,比较大小的操作…………(题外话能不能少一点啊~~~~)

OKOK,编译!!!!!!!!!!!!!!
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\a.vb(35) : error BC30452: Operator
'>' is not defined for types 'ItemType' and 'ItemType'.
我靠,这都通不过,本人当时顿时傻了5秒钟



Object都可以过,泛型居然就不行,微软该不会这么弱吧~~~
为了证明我的想法,把泛型函数改了一下
public sub Test(of ItemType)(byval a as ItemType,byval b as ItemType)
dim oa ,ob as object
oa=a
ob=b
console.writeline(a>b)
end sub
本函数简直就是弱智写的,不过我就当一次弱智好了
编译pass,执行pass
晕泛型本来就是用来提高效率,避免值类型转换为引用类型的装箱操作,如果要这么写,那还有P个优势啊~~~~~

我就测试了这几项,这个net2.0的框架还是从windows update上更新下来的,我只能说好伤心啊,难道是我期望太高了嘛???~~~~
...全文
2809 69 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
69 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengwu1983 2006-03-25
  • 打赏
  • 举报
回复
占地
chengbo1983 2006-03-25
  • 打赏
  • 举报
回复
看不懂了,没接触过2.0
也不懂VB……
顶一下
indentify 2006-03-25
  • 打赏
  • 举报
回复
这世界真是什么人都有
在发表意见之前请多阅读和学习
基于.NET 的语言都是一样的没必要比较

关于类型的问题
我看楼主还是未充分了解.NET

我继续潜水去了~
MonkWang 2006-03-25
  • 打赏
  • 举报
回复
vs.net2005感觉不是那么稳定 总出问题我现在!
netdong 2006-03-25
  • 打赏
  • 举报
回复
http://www.718.com.cn
轻松构建.net应用,
Asp.net空间只需155元/年。
磁盘空间: 50M
MS SQL数据库空间: 20M
支持: ASP.net、ASP
FTP管理
流量无限制
P4 2.0G以上CPU 2G内存
硬盘2*73G 操作系统: Windows2003
千兆光纤接入,百兆独享宽带
7×24小时全网监控系统,千兆防火墙系统、防攻击设备
网通/电信

查看更多虚拟主机请点击http://www.718.com.cn有更多款式配置适合你的需求。
limao1358 2006-03-25
  • 打赏
  • 举报
回复
现在java很多方面也在学c#,ado.net部分,元数据,foreach,等等
littlegang 2006-03-24
  • 打赏
  • 举报
回复
.net新手,我的感觉 C# 有点像抄袭 java的
devilteam 2006-03-19
  • 打赏
  • 举报
回复
那些功能好像是C# 2.0才有的吧,并不是所有.net 2.0支持的语言都有的.
ycy589 2006-03-16
  • 打赏
  • 举报
回复
学习
datablader 2006-03-16
  • 打赏
  • 举报
回复
泛型不等于类型的滥用。别觉得随意转换是件好事。
DigData 2006-03-15
  • 打赏
  • 举报
回复
Mark, 正在啃MSDN, 初步感觉, C#和Java真的太多地方相似。
wjjdnajj 2006-03-15
  • 打赏
  • 举报
回复
路过
zincy 2006-03-10
  • 打赏
  • 举报
回复
是你期望太多,要求太高。
Alden 2006-03-09
  • 打赏
  • 举报
回复
好好研究一下
menuvb 2006-03-09
  • 打赏
  • 举报
回复
刚刚特意上去MSDN网站看了下VB.NET的编程指南有关泛型的资料。发现上面VB.NET的泛型这些根本就没讲到过。倒是C#整整一堆。郁闷哪。
menuvb 2006-03-09
  • 打赏
  • 举报
回复
C# 泛型和 C++ 模板都是用于提供参数化类型支持的语言功能。然而,这两者之间存在许多差异。在语法层面上,C# 泛型是实现参数化类型的更简单方法,不具有 C++ 模板的复杂性。此外,C# 并不尝试提供 C++ 模板所提供的所有功能。在实现层面,主要区别在于,C# 泛型类型替换是在运行时执行的,从而为实例化的对象保留了泛型类型信息。有关更多信息,请参见运行库中的泛型(C# 编程指南)。

以下是 C# 泛型和 C++ 模板之间的主要差异:

*

C# 泛型未提供与 C++ 模板相同程度的灵活性。例如,尽管在 C# 泛型类中可以调用用户定义的运算符,但不能调用算术运算符。
*

C# 不允许非类型模板参数,如 template C<int i> {}。
*

C# 不支持显式专用化,即特定类型的模板的自定义实现。
*

C# 不支持部分专用化:类型参数子集的自定义实现。
*

C# 不允许将类型参数用作泛型类型的基类。
*

C# 不允许类型参数具有默认类型。
*

在 C# 中,尽管构造类型可用作泛型,但泛型类型参数自身不能是泛型。C++ 确实允许模板参数。
*

C++ 允许那些可能并非对模板中的所有类型参数都有效的代码,然后将检查该代码中是否有用作类型参数的特定类型。C# 要求相应地编写类中的代码,使之能够使用任何满足约束的类型。例如,可以在 C++ 中编写对类型参数的对象使用算术运算符 + 和 - 的函数,这会在使用不支持这些运算符的类型来实例化模板时产生错误。C# 不允许这样;唯一允许的语言构造是那些可从约束推导出来的构造。

网上看到的。
最近也在研究泛型和.NET2.0。没有头绪:<
menuvb 2006-03-09
  • 打赏
  • 举报
回复
楼主非常可爱的说:)

Buffer_pool 2006-03-09
  • 打赏
  • 举报
回复
什么都不懂的人也好意思发帖子!
kittyxiayun 2006-03-09
  • 打赏
  • 举报
回复
package leeko;
import java.sql.*;

public class Table{

Connection con;
Statement stmt;
ResultSet rs;
public void connectToDB(String userName,String password){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String source = "jdbc:odbc:"+databaseName;
con = DriverManager.getConnection(source, userName, password);
stmt = con.createStatement();
}
上面这段java连接数据库的程序能帮我翻成c#的吗?谢谢各位!
catch(ClassNotFoundException e){
System.out.println("error:"+e);
}
catch(SQLException e){
System.out.println("error:"+e);
}

}
Rossetti 2006-03-06
  • 打赏
  • 举报
回复
http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx

用这个转换。
加载更多回复(49)
漂亮的ComponentArtWebUI及Demo源码 产品特征: 先进的用户界面控件套装:为高级Web应用程序开发提供了16个优质的用户界面控件。 专为ASP.NET而设计:为三个先进且更强大的框架而设计:ASP.NET 1.0, ASP.NET 2.0和ASP.NET AJAX。 强大的客户端呈现技术:行业中最先进的Web用户界面技术。 深入整合ASP.NET AJAX:最理想的完全应用AJAX框架的控件。 全面的帮助文档和技术支持:提供了完善的产品在线帮助文档和全面的技术支持资源。 企业级服务和培训:为企业级项目开发定制专门的产品咨询和培训服务。 灵活的产品授权:针对开发者,服务和企业级应用提供不同的授权方式。 ComponentArt Web.UI 2007.1 更新信息 ComponentArt Web.UI 2007.1 版本中发布了三个最新的控件: ToolBar for ASP.NET ComboBox for ASP.NET Dialog for ASP.NET 以下为Web.UI组件2007.1版本中新增的功能特征: ComponentArt Grid 可以在Callback模式中缓存页面 (CallbackCachingEnabled和CallbackCacheSize属性)。 可在Callback模式中预加载页面到缓存中 (CallbackCacheLookAhead属性)。 页面在滑动条经过时可提取页面 (SliderFetchDelay属性)。 客户端滚动事件。 客户端beforeCallback事件。 ColumnResizeRedistributeWidth属性用于控制缩放状态。 ComponentArt Menu 引入(已选)checking和(未选)unchecking项的概念。允许菜单项成为复选框或者单元按钮。 引入(图标透明度)IconVisibility的概念。可使图标只在该项被选中或该项根目录时显示。 添加更多对上下文菜单扩展的控制:(TopGroupExpandDirection, TopGroupExpandOffsetX, TopGroupExpandOffsetY)。 增加了ExpandDisabledItems的布尔值属性。 改进了IE7中的元素覆盖运算法则,优化其执行性能。 ComponentArt MultiPage 增加了IE转换效果 (Transition, TransitionDuration属性)。 Web.UI 2007.1 版本没有进行整体框架的改变,只是在Web.UI 2006.2的基础上进行了改进,所以通过最新的ComponentArt.Web.UI.dll可以很方便的对之前的应用程序进行编译。 ComponentArt Web.UI是全球知名的ASP.NET用户界面控件包,它提供了ComponentArt独特的界面呈现技术,支持强大的AJAX技术,可以为您提供最先进的ASP.NET Web用户界面。ComponentArt Web.UI专为ASP.NET框架设计,它包含16个支持AJAX技术的优质用户界面控件,并可应用在ASP.NET 1.0, ASP.NET 2.0, ASP.NET AJAX框架中。 2008年3月27日,专注于ASP.NET Web.UI及Charting控件开发的ComponentArt又发布了Web.UI的最一代版本:2008.1。该版本有四个框架平台:ASP.NET 1.0、ASP.NET 2.0、ASP.NET Ajax,还有当然是最新的.NET框架支持的ASP.NET 3.5了。 2008.1不仅对其代码的运行效率进行了优化,还最增了一个大家期盼已久的成员:Upload。上传空间虽已不是罕见的东东,可是ComponentArt提供的这款不会让你和你的开发团队失望的。 更主要的是ASP.NET 3.5的版本的发布的,同样,特性和功能都具备的同时,也加入了对LINQ的高度支持。这样,ASP.NET 3.5的开发人员也可以享用到这份大餐喽~ Advanced User Interface Control Suite: Includes 19 Premium User Interface controls for development of sophisticated web applications. Built for ASP.NET: Available in four progressively more powerful framework builds: ASP.NET 1.0, ASP.NET 2.0, ASP.NET AJAX and ASP.NET 3.5. Powerful Client-side Rendering Technology: Featuring the most advanced web user interface technology in the industry. Deepest ASP.NET AJAX Integration: The first true controls to fully exploit the most advanced AJAX framework available. Comprehensive Documentation and Support: Featuring complete product documentation online and all-inclusive technical support resources. Enterprise Consulting and Training: Customized consulting and training services are offered to support Enterprise development projects involving larger teams of developers. Flexible Licensing: Available at Developer, Subscription and Enterprise levels. ComponentArt Web.UI 包含以下用户界面控件 Calendar (日历) Grid (表格) Rotator (旋转器) TabStrip (标签) CallBack (回调) Menu (菜单) SiteMap (地图) ToolBar (工具条) ComboBox (组合框) MultiPage (分页) Snap (抓取) TreeView (树形列表) Dialog (对话框) NavBar (导航条) Splitter (框架分离) WebChart Lite (图表) 如果涉及到安装序列号,请填写:3JKX6-YJW6X-GJJDP app_data为应用到的Sql和Access数据库文件 documentation下为官方的相关文档 DllCode下为控件的源码
产品特征:
先进的用户界面控件套装:为高级Web应用程序开发提供了16个优质的用户界面控件。
专为ASP.NET而设计:为三个先进且更强大的框架而设计:ASP.NET 1.0, ASP.NET 2.0和ASP.NET AJAX。
强大的客户端呈现技术:行业中最先进的Web用户界面技术。
深入整合ASP.NET AJAX:最理想的完全应用AJAX框架的控件。
全面的帮助文档和技术支持:提供了完善的产品在线帮助文档和全面的技术支持资源。
企业级服务和培训:为企业级项目开发定制专门的产品咨询和培训服务。
灵活的产品授权:针对开发者,服务和企业级应用提供不同的授权方式。
ComponentArt Web.UI 2007.1 更新信息
ComponentArt Web.UI 2007.1 版本中发布了三个最新的控件:
ToolBar for ASP.NET
ComboBox for ASP.NET
Dialog for ASP.NET
以下为Web.UI组件2007.1版本中新增的功能特征:
ComponentArt Grid
可以在Callback模式中缓存页面 (CallbackCachingEnabled和CallbackCacheSize属性)。
可在Callback模式中预加载页面到缓存中 (CallbackCacheLookAhead属性)。
页面在滑动条经过时可提取页面 (SliderFetchDelay属性)。
客户端滚动事件。
客户端beforeCallback事件。
ColumnResizeRedistributeWidth属性用于控制缩放状态。
ComponentArt Menu
引入(已选)checking和(未选)unchecking项的概念。允许菜单项成为复选框或者单元按钮。
引入(图标透明度)IconVisibility的概念。可使图标只在该项被选中或该项根目录时显示。
添加更多对上下文菜单扩展的控制:(TopGroupExpandDirection, TopGroupExpandOffsetX, TopGroupExpandOffsetY)。
增加了ExpandDisabledItems的布尔值属性。
改进了IE7中的元素覆盖运算法则,优化其执行性能。
ComponentArt MultiPage
增加了IE转换效果 (Transition, TransitionDuration属性)。
Web.UI 2007.1 版本没有进行整体框架的改变,只是在Web.UI 2006.2的基础上进行了改进,所以通过最新的ComponentArt.Web.UI.dll可以很方便的对之前的应用程序进行编译。

ComponentArt Web.UI是全球知名的ASP.NET用户界面控件包,它提供了ComponentArt独特的界面呈现技术,支持强大的AJAX技术,可以为您提供最先进的ASP.NET Web用户界面。ComponentArt Web.UI专为ASP.NET框架设计,它包含16个支持AJAX技术的优质用户界面控件,并可应用在ASP.NET 1.0, ASP.NET 2.0, ASP.NET AJAX框架中。

2008年3月27日,专注于ASP.NET Web.UI及Charting控件开发的ComponentArt又发布了Web.UI的最一代版本:2008.1。该版本有四个框架平台:ASP.NET 1.0、ASP.NET 2.0、ASP.NET Ajax,还有当然是最新的.NET框架支持的ASP.NET 3.5了。
2008.1不仅对其代码的运行效率进行了优化,还最增了一个大家期盼已久的成员:Upload。上传空间虽已不是罕见的东东,可是ComponentArt提供的这款不会让你和你的开发团队失望的。
更主要的是ASP.NET 3.5的版本的发布的,同样,特性和功能都具备的同时,也加入了对LINQ的高度支持。这样,ASP.NET 3.5的开发人员也可以享用到这份大餐喽~
Advanced User Interface Control Suite:
Includes 19 Premium User Interface controls for development of sophisticated web applications.
Built for ASP.NET:
Available in four progressively more powerful framework builds: ASP.NET 1.0, ASP.NET 2.0, ASP.NET AJAX and ASP.NET 3.5.
Powerful Client-side Rendering Technology:
Featuring the most advanced web user interface technology in the industry.
Deepest ASP.NET AJAX Integration:
The first true controls to fully exploit the most advanced AJAX framework available.
Comprehensive Documentation and Support:
Featuring complete product documentation online and all-inclusive technical support resources.
Enterprise Consulting and Training:
Customized consulting and training services are offered to support Enterprise development projects involving larger teams of developers.
Flexible Licensing:
Available at Developer, Subscription and Enterprise levels.
ComponentArt Web.UI 包含以下用户界面控件

Calendar (日历)
Grid (表格) Rotator (旋转器) TabStrip (标签)
CallBack (回调) Menu (菜单) SiteMap (地图) ToolBar (工具条)
ComboBox (组合框) MultiPage (分页) Snap (抓取) TreeView (树形列表)
Dialog (对话框) NavBar (导航条) Splitter (框架分离) WebChart Lite (图表)

如果涉及到安装序列号,请填写:3JKX6-YJW6X-GJJDP
app_data为应用到的Sql和Access数据库文件
documentation下为官方的相关文档
DllCode下为控件的源码
产品特征:
先进的用户界面控件套装:为高级Web应用程序开发提供了16个优质的用户界面控件。
专为ASP.NET而设计:为三个先进且更强大的框架而设计:ASP.NET 1.0, ASP.NET 2.0和ASP.NET AJAX。
强大的客户端呈现技术:行业中最先进的Web用户界面技术。
深入整合ASP.NET AJAX:最理想的完全应用AJAX框架的控件。
全面的帮助文档和技术支持:提供了完善的产品在线帮助文档和全面的技术支持资源。
企业级服务和培训:为企业级项目开发定制专门的产品咨询和培训服务。
灵活的产品授权:针对开发者,服务和企业级应用提供不同的授权方式。
ComponentArt Web.UI 2007.1 更新信息
ComponentArt Web.UI 2007.1 版本中发布了三个最新的控件:
ToolBar for ASP.NET
ComboBox for ASP.NET
Dialog for ASP.NET
以下为Web.UI组件2007.1版本中新增的功能特征:
ComponentArt Grid
可以在Callback模式中缓存页面 (CallbackCachingEnabled和CallbackCacheSize属性)。
可在Callback模式中预加载页面到缓存中 (CallbackCacheLookAhead属性)。
页面在滑动条经过时可提取页面 (SliderFetchDelay属性)。
客户端滚动事件。
客户端beforeCallback事件。
ColumnResizeRedistributeWidth属性用于控制缩放状态。
ComponentArt Menu
引入(已选)checking和(未选)unchecking项的概念。允许菜单项成为复选框或者单元按钮。
引入(图标透明度)IconVisibility的概念。可使图标只在该项被选中或该项根目录时显示。
添加更多对上下文菜单扩展的控制:(TopGroupExpandDirection, TopGroupExpandOffsetX, TopGroupExpandOffsetY)。
增加了ExpandDisabledItems的布尔值属性。
改进了IE7中的元素覆盖运算法则,优化其执行性能。
ComponentArt MultiPage
增加了IE转换效果 (Transition, TransitionDuration属性)。
Web.UI 2007.1 版本没有进行整体框架的改变,只是在Web.UI 2006.2的基础上进行了改进,所以通过最新的ComponentArt.Web.UI.dll可以很方便的对之前的应用程序进行编译。

ComponentArt Web.UI是全球知名的ASP.NET用户界面控件包,它提供了ComponentArt独特的界面呈现技术,支持强大的AJAX技术,可以为您提供最先进的ASP.NET Web用户界面。ComponentArt Web.UI专为ASP.NET框架设计,它包含16个支持AJAX技术的优质用户界面控件,并可应用在ASP.NET 1.0, ASP.NET 2.0, ASP.NET AJAX框架中。

2008年3月27日,专注于ASP.NET Web.UI及Charting控件开发的ComponentArt又发布了Web.UI的最一代版本:2008.1。该版本有四个框架平台:ASP.NET 1.0、ASP.NET 2.0、ASP.NET Ajax,还有当然是最新的.NET框架支持的ASP.NET 3.5了。
2008.1不仅对其代码的运行效率进行了优化,还最增了一个大家期盼已久的成员:Upload。上传空间虽已不是罕见的东东,可是ComponentArt提供的这款不会让你和你的开发团队失望的。
更主要的是ASP.NET 3.5的版本的发布的,同样,特性和功能都具备的同时,也加入了对LINQ的高度支持。这样,ASP.NET 3.5的开发人员也可以享用到这份大餐喽~
Advanced User Interface Control Suite:
Includes 19 Premium User Interface controls for development of sophisticated web applications.
Built for ASP.NET:
Available in four progressively more powerful framework builds: ASP.NET 1.0, ASP.NET 2.0, ASP.NET AJAX and ASP.NET 3.5.
Powerful Client-side Rendering Technology:
Featuring the most advanced web user interface technology in the industry.
Deepest ASP.NET AJAX Integration:
The first true controls to fully exploit the most advanced AJAX framework available.
Comprehensive Documentation and Support:
Featuring complete product documentation online and all-inclusive technical support resources.
Enterprise Consulting and Training:
Customized consulting and training services are offered to support Enterprise development projects involving larger teams of developers.
Flexible Licensing:
Available at Developer, Subscription and Enterprise levels.
ComponentArt Web.UI 包含以下用户界面控件

Calendar (日历)
Grid (表格) Rotator (旋转器) TabStrip (标签)
CallBack (回调) Menu (菜单) SiteMap (地图) ToolBar (工具条)
ComboBox (组合框) MultiPage (分页) Snap (抓取) TreeView (树形列表)
Dialog (对话框) NavBar (导航条) Splitter (框架分离) WebChart Lite (图表)

如果涉及到安装序列号,请填写:3JKX6-YJW6X-GJJDP
app_data为应用到的Sql和Access数据库文件
documentation下为官方的相关文档
DllCode下为控件的源码

17,748

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧