[asp.net]如何實作自訂任何型態(雖然一般都是字串拉)的Extension Method

  • 669
  • 0
  • 2014-05-15

摘要:[asp.net]

如何實作自訂的Extension Method:參考

http://www.codeproject.com/Articles/261639/Extension-Methods-in-NET

在此實作VB版本的試看看

首先新增一個類別ExtensionMethosdCCYEN.vb

然後key入以下

Imports System.Runtime.CompilerServices

Module ExtensionMethodsCCYEN


    ''' 把民國年轉成西元年
    ''' '如果來源型態是字串的話,就可以使用這個extension
     _
    Public Function ChYToADY(ByVal strInput As String) As String
        Dim strResult As String = String.Empty

        'input非空字串的情況下,以及是數字的情況
        If String.IsNullOrEmpty(strInput.Trim) = False And IsNumeric(strInput) Then
            strResult = CStr(CInt(strInput) + 1911)
        End If
        Return strResult
    End Function

End Module

 

實際上使用的情況是

 Dim strAbc As String = "102"
            strAbc = strAbc.ChYToADY()

收工

補充C#的, 先新增一個類別叫做Extensions.cs,然後key入下面

public static class Extensions
{
	//IQueryable最後回傳的型態T,是根據Client端呼叫WhereDLinq者的型態而定
	public static IQueryable WhereDLinq(this IQueryable data,string dLinq,params object[] values)
	{
		if (dLinq != "")
		{
			data = data.Where(dLinq, values);                
		}
		else
		{
		   //甚麼都不用做
		}
		return data;
	}
}