vb.net扩展方法 VBNET编程宝典

vb.net 自建类生成类e似xx.item(0).value或者xx.Name("zhangshan").Value

'这是数组的一个方法了,可是可以给数组定义扩展方法来实现这种形式。不过要给Item每个成员能动态生成相应方法,想不出其它简单点的办法,只能一个一个的添加扩展方法。

目前创新互联建站已为近千家的企业提供了网站建设、域名、虚拟主机绵阳服务器托管、企业网站设计、成武网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

Namespace 测试

Public Class Item

Public Number() As String

Public Name As String

Public Symbol As String

Public Value As Single

Public Unit As String

Public Description As String

Public Remarks As String

End Class

Public Class XX

Public tty() As Item

Public Sub New()

tty(0).Name = "Women"

tty(0).Value = 198000

tty(1).Name = "temen"

tty.Name("temen").Value = 99999

End Sub

End Class

Public Module Module1

System.Runtime.CompilerServices.Extension() _ 

Public Function Name(ByVal she As Item(), ByVal key As String) As Item '定义扩展方法功能 在net.3.5前的版本像似没有。

For Each it In she

If it.Name = key Then

Return it

End If

Next

Return Nothing

End Function

End Module

End Namespace

Vb.net 扩展方法怎么用啊 比方说:一个List a a.where(?) 里面怎么写

楼主您好,这个拓展方法是为LinQ服务的,用来在集合内筛选数据

比如有一个List(Of Integer)

类型的scoreList对象,里面存有学生的考试成绩。如果我要输出

大于等于60分的成绩,可以这样:

Dim r=(From s in scoreList Where s=60 Select s).ToList()

For Each e In r

Console.WriteLine(e)

Next

第一句实际编译为对集合的Where等拓展方法的调用

为什么不能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

的方法名和你写的绝对不重名吗?所以,扩展方法存在着版本控制的问题。

 

一台主机3个显示器做扩展桌面显示,VB。net做三个窗口怎么把这三个窗口分别显示在三个桌

首先显示器设置成“扩展”模式,即三台显示器的屏幕共同组成一个横向的大屏幕

其次,将VB.NET的三个窗口用代码移动到每个显示器的坐标原点即可

怎么用VB.NET更改文件扩展名

以修改“C:\abc.txt"为bat为例。

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim Myfile As String

Myfile = IO.Path.ChangeExtension("C:\abc.txt", ".bat")

Microsoft.VisualBasic.FileSystem.Rename("C:\abc.txt", Myfile)

End Sub

End Class


网站题目:vb.net扩展方法 VBNET编程宝典
浏览地址:http://pwwzsj.com/article/hpohsc.html