2013-06-29 106 views
0

请问如何在vb.net中编写下一个代码?vb.net中“this”关键字的等效

public static bool IsYear(this string data) 
    { 
     return data.Length == 4 && Regex.IsMatch(data, @"[12]+[0-9]+[0-9]+[0-9]"); 
    } 
+2

你的意思是扩展方法。这与C#中的'this''usually_无关。请参阅http://msdn.microsoft.com/en-us/library/bb384936.aspx –

+0

是的,它是在一个静态类与扩展方法 – Flo

+2

用相关标签标记您的问题,如[标签:VB.NET]和[标签:扩展方法] –

回答

2

看看这个MSDN article on VB extension Methods。应用它会导致类似的情况。

Imports System.Runtime.CompilerServices 
Imports System.Text.RegularExpressions 

Module Module1 

    Sub Main() 
     Dim myString As String 
     myString = "1955" 
     Console.WriteLine(myString & " is Year =" & myString.IsYear) 
     myString = "3955" 
     Console.WriteLine(myString & " is Year =" & myString.IsYear) 
     myString = "19555" 
     Console.WriteLine(myString & " is Year =" & myString.IsYear) 
     Console.ReadLine() 
    End Sub 

End Module 
Module Extensions 
    <Extension()> 
    Public Function IsYear(ByVal data As String) As Boolean 
     Return data.Length = 4 And Regex.IsMatch(data, "[12]+[0-9]+[0-9]+[0-9]") 
    End Function 
End Module