我有C#方法
private static string TypeNameLower(object o)
{
return o.GetType().Name.ToLower();
}
Run Code Online (Sandbox Code Playgroud)
给我输入对象的小写类型名称.
但是如果input是一个设置为null的字符串或者设置为null的nullable int,那么这个方法当然会失败.
在这种情况下如何获取类型名称?
我有一段代码,我需要弄清楚一个给定的类型是否实现IEnumerable<T>(我不关心T)
我试过了(t:System.Type万一你想知道)
let interfaces = t.GetInterfaces()
let enumerbale =
interfaces.Any(fun t ->
t.GetGenericTypeDefinition() = typeof<IEnumerable<>>
)
Run Code Online (Sandbox Code Playgroud)
但是这不会编译(编译不喜欢<>).然后我试过了
let interfaces = t.GetInterfaces()
let enumerbale =
interfaces.Any(fun t ->
t.GetGenericTypeDefinition() = typeof<IEnumerable<'a>>
)
Run Code Online (Sandbox Code Playgroud)
但得到一个警告,'a是对obj的约束.我不想弄清楚是否IEnumerable<obj>已实施但是IEnumerabl<>.
任何人都知道解决方案,顺便也可以对上面的代码发表评论.