摘要:[ASP.NET] C#和VB 的Extension Method
最近比較多的時間是在寫C#,可是有時還是要寫一些VB的案子,
有些東西容易忘掉,便成要去翻一下以前寫的,像Extension Method就是,所以直接記在Blog上比較方便,
Extension Method對我來說是還蠻常用的,常把一些小的常用的Method寫成這樣的方式來用,
像.NET會常常用到.ToString()或是.Trim()之類的Method,
兩者在結構上也有所不同,
C# 的部分:
public static class MyExtensionForC
{
public static string MyName(this string str)
{
if (str == string.Empty)
{
return "Leo";
}
else {
return str;
}
}
}
VB的部分會有一點點冗長,要Imports System.Runtime.CompilerServices,
Imports System.Runtime.CompilerServices
Public Module MyExtensionForVB
_
Public Function MyName(ByVal str As String) As String
If str = String.Empty Then
Return "Leo"
Else
Return str
End If
End Function
End Module</EXTENSION()>
以上就是兩者在Extension上的寫法,接下來就看看如何應用
我們開個檔案在Behind Code寫簡單的測試
C#的部分:
protected void Page_Load(object sender, EventArgs e)
{
string ThisMyName = string.Empty ;
//ThisMyName = "Lin";
this.Response.Write(ThisMyName.MyName().ToString());
}
VB的部分:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ThisName As String
'ThisName = "Lin"
My.Response.Write(ThisName.MyName)
End Sub
以上的部分就是當你不給ThisName這個變數任何值時,在Extension就會直接帶Leo給他,
若有給它任何的資料時,則會帶出所給的資料,以上就是簡單的Extension Method應用
End…