C# string类型找同名类名
时间: 2024-01-21 08:02:26 浏览: 29
在C#中,可以使用反射来将字符串转换为同名的类名和方法名。下面是一个示例代码:
```csharp
string strClass = "stringConvertClass.test"; // 命名空间+类名
string strMethod = "Method"; // 方法名
Type t = Type.GetType(strClass); // 通过字符串类型的strClass获取同名类"t"
System.Reflection.MethodInfo method = t.GetMethod(strMethod); // 通过字符串类型的strMethod获取同名的方法"method"
object obj = System.Activator.CreateInstance(t); // 创建t类的实例"obj"
method.Invoke(obj, null); // 调用t类实例obj的方法"method"
```
这段代码首先通过`Type.GetType()`方法将字符串类型的`strClass`转换为同名的类名,并将结果赋值给变量`t`。然后使用`t.GetMethod()`方法将字符串类型的`strMethod`转换为同名的方法名,并将结果赋值给变量`method`。接下来,使用`System.Activator.CreateInstance()`方法创建`t`类的实例,并将结果赋值给变量`obj`。最后,使用`method.Invoke()`方法调用`t`类实例`obj`的同名方法。
相关问题
c#根据泛型获取泛型类名
可以使用 typeof 关键字获取泛型类型的 Type 对象,然后调用 Type.Name 属性即可获取泛型类名。
例如,假设有一个泛型类 GenericClass<T>,可以使用以下代码获取泛型类名:
```csharp
Type genericType = typeof(GenericClass<>);
string genericTypeName = genericType.Name;
```
这样,genericTypeName 的值就是 "GenericClass`1",其中 `1 表示泛型参数的数量。如果 GenericClass 有多个泛型参数,则 `1 应该改为相应的数字。
C# 实例获取自己的类名
C是一种计算机编程语言,由Dennis Ritchie于1972年在贝尔实验室开发。C是一种结构化的、静态的、通用的、高级的编程语言,适用于各种应用程序开发,如系统软件、应用软件、驱动程序等。C语言的特点是代码简洁、执行效率高、可移植性强,因此被广泛使用。C语言也是许多其他编程语言的基础,如C++、Java等。