Imports System.Collections.Generic
Imports System.Linq
Imports System.Reflection
Imports System.Linq.Expressions
Public Module IEnumerableHelper
Sub New() 'Public
End Sub
Private orderBy_ As MethodInfo = GetType(Enumerable).GetMethods(BindingFlags.[Static] Or BindingFlags.[Public]) _
.Where(Function(x) x.Name = "OrderBy" AndAlso x.GetParameters().Length = 2).First()
<System.Runtime.CompilerServices.Extension()> _
Public Function OrderBy(Of TSource)(source As IEnumerable(Of TSource), propertyName As String) As IEnumerable(Of TSource)
Dim pi = GetType(TSource).GetProperty(propertyName, BindingFlags.[Public] Or BindingFlags.FlattenHierarchy Or BindingFlags.Instance)
Dim selectorParam = Expression.Parameter(GetType(TSource), "keySelector")
Dim sourceParam = Expression.Parameter(GetType(IEnumerable(Of TSource)), "source")
Return Expression.Lambda(Of Func(Of IEnumerable(Of TSource),
IOrderedEnumerable(Of TSource)))(Expression.[Call](orderBy_.MakeGenericMethod(GetType(TSource), pi.PropertyType),
sourceParam, Expression.Lambda(GetType(Func(Of ,)).MakeGenericType(GetType(TSource), pi.PropertyType),
Expression.[Property](selectorParam, pi), selectorParam)), sourceParam).Compile()(source)
End Function
<System.Runtime.CompilerServices.Extension()> _
Public Function OrderBy(Of TSource)(source As IEnumerable(Of TSource), propertyName As String, ascending As Boolean) As IEnumerable(Of TSource)
Return If(ascending, source.OrderBy(propertyName), source.OrderBy(propertyName).Reverse())
End Function
End Module
Date :
2015-08-05 21:54:58
By :
หน้าฮี
No. 5
Guest
@ peap
Code
คือปกติผมจะเขียนเว็บโดยใช้ PHP และใช้ ajax ในกรณีที่ต้องการ submit form โดยไม่ต้อง refresh page
แต่พอผมได้ยินคำว่า ajax extension กับ windows hosting ผมเลยสงสัยว่า
ตัว ajax extension กับ ajax ที่ผมใช้ submit form นี่เป็นตัวเดียวกันหรือเปล่าครับ
แล้วทำไม host windows ถึงต้องใช้ ajax extension ในขณะที่ host linux ไม่ต้องใช้ ajax extension ครับ
ขอบคุณครับ