vb.net对象扩展 vbnet object类型

为什么不能VB.Net找到一个接口扩展方法由于汉语语言表述的所带来的不易理解性,我们还是直接用代码来解释吧 , 如下的代码片段:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static class StringExtentsion
{
public static string ToString(this string str)
{
return "Extentsion" + str;
}
}
class Program
{
static void Main(string[] args)
{
string str = "test";
Console.WriteLine(str.ToString()); // 输出结果为: test,也就说编译器会优先选用原有类的实例化方法,如果没找到匹配方法再寻找扩展方法
Console.Read();
}
}
由上述的代码片段可以知:StringExtentsion类中扩展方法ToString 和 String类的原有的ToString方法 对于客户端代码而言 , 它们的语法表象是
一样的 , 但本质上一个是StringExtentsion类的静态方法 , 一个是String类的实例化方法 。然而编译运行没有产生错误,更没有产生警告 。所以在
这种情况下很容“埋雷”,一不小心就会中招 。有人也许会说:我注意一下不要和.NET类库的方法重名就可以了 。但是你能保证 .NET 6、甚至.NET 10
的方法名和你写的绝对不重名吗?所以,扩展方法存在着版本控制的问题 。
学VB还是VB.net好?细说VB.NET(上)
(作者:青苹果工作室编译 2001年03月07日 14:47)
微软公司提出的.NET概念,正从各个方面渗入到vb.net对象扩展我们的生活中 。它将产生的作用,
诚如一位业内名家所描述的:“请忘掉你认为你所知道的,.NET将改变一切”!既然如
此 , 无论是IT业内人士、还是企业决策者 , 快速领会这个新概念的含义及深远影响,
都显得非常必要 。
概要
VB正在不断地发展中,它具备了以前VB编程人员作梦都想拥有的性能,想象一下你
将随心所欲的利用这些性能,是不是很令人激动?然而 , 这个计划于2001年第四季度上
市销售的VB版本可能会给你带来些小麻烦,因为要完全掌握它需要一个较长的学习周期
 , 而且其中包括了一些微妙的变化,你可能在使用他们的时候出现错误 。
需要准备的条件:建议获得Visual Basic.NET beta 版,这些内容对所有VB程序员
都是有用的 。
Microsoft .NET平台的涵盖面很广,而且很难预测它的真正意义 。我们注意到,现
在有很多关于.NET的不正确的理解 。因此在这篇文章里,我们将把给你一个VB.NET到底
是些什么的概念,从头到尾说一说它是什么、它能干什么以及怎样才能充分发挥它的优
点 。我们要特别地细看一下IDE的改变、面向对象特征、底层结构的改变、一些“现代化
”的语法以及包装和分发方面的增强 。我们将讨论这些功能能为你做什么,解释他们的
优点与不足 。由于这些改变是如此之大,而且涉及方方面面,因此希望这一篇文章能满
足你全部的要求是不现实的 , 要了解这方面全部的知识请参阅有关文章和书籍 。
【vb.net对象扩展 vbnet object类型】Visual Basic.NET 和你现在所知的开发工具完全不同 , 并且这个新版本会改变你的
未来 。到底有多大不同?如果你觉得从VB3迁移到VB4是一个很大的变化,那这次VB.NET
会让你感到震惊 。这次升级与其说是VB的一个新版本,还不如说是迁移到一个新平台上
,你所面临的情况就和从DOS迁移到Windows差不多 。

推荐阅读