相关疑难解决方法(0)

C#获取通用类型名称

type.IsGenericType= 时,我需要一些方法来获取类型的名称true.

    Type t = typeof(List<String>);
    MessageBox.Show( ..?.. );
Run Code Online (Sandbox Code Playgroud)

我想要的是一个弹出消息框,List显示......我该怎么做?

c# generics

39
推荐指数
8
解决办法
4万
查看次数

如何在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
查看次数

从类型名称获取可为空类型

我有以下场景,我得到一个如下所示的字符串

"System.DateTime?"
Run Code Online (Sandbox Code Playgroud)

或者

"int?"
Run Code Online (Sandbox Code Playgroud)

我希望能够做的是检索该字符串的 System.Type ,它看起来像:

{Name = "Nullable 1" FullName = "System.Nullable1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}

现在我知道如何从字符串中检索类型我可以Type.GetType("System.DateTime")在处理不可为空类型时或typeof(DateTime?)当我知道它将为 DateTime 为空时说,但在这种情况下,我不知道什么可以为空类型可能会出现并将只接收它作为字符串。

c# types nullable

4
推荐指数
2
解决办法
1338
查看次数

如何获得类型的别名?

是否可以实现像这样的方法

string GetFriendlyName(Type type) { ... }
Run Code Online (Sandbox Code Playgroud)

在.NET中,如果可能,将返回该类型的CLR别名?在这种情况下GetFriendlyName(typeof(Foo))将返回"Foo",但GetFriendlyName(typeof(int))将返回"int"而不是像MemberInfo.Name中的"Int32"

.net c# reflection types

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

获取对象的名称而不获取其位类型

我需要获得几个对象的名称.名称不能包含它们的位(16/32/64).我也是这样做的object.GetType().Name.当我使用int作为object(int.GetType().Name)时,它返回int.但是当我使用uint时它会返回uint32.我想只得到uint.有没有比String.Replace更好的方法呢?

c#

2
推荐指数
1
解决办法
55
查看次数

标签 统计

c# ×5

reflection ×2

types ×2

.net ×1

generics ×1

nullable ×1