相关疑难解决方法(0)

如何在C#中获取类型的原始名称?

我正在使用反射来打印方法签名,例如

foreach (var pi in mi.GetParameters()) {
    Console.WriteLine(pi.Name + ": " + pi.ParameterType.ToString());
}
Run Code Online (Sandbox Code Playgroud)

这很好用,但它打印出基元类型为"System.String"而不是"string"和"System.Nullable`1 [System.Int32]"而不是"int?".有没有办法在代码中查找参数的名称,例如

public Example(string p1, int? p2)
Run Code Online (Sandbox Code Playgroud)

版画

p1: string
p2: int?
Run Code Online (Sandbox Code Playgroud)

代替

p1: System.String
p2: System.Nullable`1[System.Int32]
Run Code Online (Sandbox Code Playgroud)

c# reflection

22
推荐指数
1
解决办法
7065
查看次数

C# - 通过反射获取简单类型的用户友好名称?

Type t = typeof(bool);
string typeName = t.Name;
Run Code Online (Sandbox Code Playgroud)

在这个简单的例子中,typeName将具有该值"Boolean".我想知道是否/如何让它说出来"bool".

对于int/Int32,double/Double,string/String也是如此.

c# reflection types

18
推荐指数
2
解决办法
5605
查看次数

GetType 返回 Int 而不是 System.Int32

GetType().ToString() 返回对象的 FullName。我想要您通常用来实例化该对象的名称,即 int 而不是 Int32。有没有办法做到这一点?

.net c# reflection

3
推荐指数
1
解决办法
3162
查看次数

标签 统计

c# ×3

reflection ×3

.net ×1

types ×1