小编use*_*402的帖子

如何在 C# 中使用泛型参数调用泛型方法?

我想知道如何在 C# 中使用反射来调用以下方法:

public static List<T> GetAllWithChildren<T>
    (this SQLiteConnection conn, Expression<Func<T, bool>> filter = null, bool recursive = false) 
    where T
    #if USING_MVVMCROSS: new() #else : class #endif
    {
    }
Run Code Online (Sandbox Code Playgroud)

我当前的代码是:

MethodInfo methodInfo = typeof(ReadOperations).GetMethod("GetWithChildren", BindingFlags.Static | BindingFlags.Public | BindingFlags.FlattenHierarchy);
Type predicateType = predicate.GetType();
MethodInfo genericMethod = methodInfo.MakeGenericMethod(predicateType);
Type[] genericArgumentsType = genericMethod.GetGenericArguments();
Debug.WriteLine("Arguments Number:" + genericArgumentsType.Count());
int count = 0;
foreach (Type ga in genericArgumentsType)
{
    Console.WriteLine(count++ + " " + ga.GetType());
}
Object[] genericArguments = { conn, predicate, true …
Run Code Online (Sandbox Code Playgroud)

c# generics reflection sqlite-net

6
推荐指数
1
解决办法
1308
查看次数

标签 统计

c# ×1

generics ×1

reflection ×1

sqlite-net ×1