首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在泛型方法调用中使用Type变量(C#)

在C#中,泛型方法是指使用类型参数的方法。要在泛型方法中使用Type变量,您需要使用反射。以下是一个示例,说明如何在泛型方法中使用Type变量:

代码语言:csharp
复制
using System;

public class GenericMethodExample
{
    public static void Main()
    {
        Type intType = typeof(int);
        Type stringType = typeof(string);

        CallGenericMethod(intType, 42);
        CallGenericMethod(stringType, "Hello, World!");
    }

    public static void CallGenericMethod<T>(Type type, T value)
    {
        MethodInfo method = typeof(GenericMethodExample).GetMethod("GenericMethod");
        MethodInfo genericMethod = method.MakeGenericMethod(type);
        genericMethod.Invoke(null, new object[] { value });
    }

    public static void GenericMethod<T>(T value)
    {
        Console.WriteLine($"Type: {typeof(T)}, Value: {value}");
    }
}

在这个例子中,我们首先获取了GenericMethodMethodInfo对象,然后使用MakeGenericMethod方法创建了一个泛型方法实例。接下来,我们使用Invoke方法调用泛型方法实例,并传递类型参数和值参数。

输出结果:

代码语言:txt
复制
Type: System.Int32, Value: 42
Type: System.String, Value: Hello, World!

这个例子中,我们使用了Type变量来表示泛型方法的类型参数,并在泛型方法中使用了这个类型参数。这种方法可以让您在运行时动态地调用泛型方法,而不需要在编译时知道类型参数的具体类型。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券