相关疑难解决方法(0)

C#get null对象的类型

我有C#方法

private static string TypeNameLower(object o)
{
   return o.GetType().Name.ToLower();
}
Run Code Online (Sandbox Code Playgroud)

给我输入对象的小写类型名称.

但是如果input是一个设置为null的字符串或者设置为null的nullable int,那么这个方法当然会失败.

在这种情况下如何获取类型名称?

c#

63
推荐指数
5
解决办法
6万
查看次数

F#相当于C#typeof(IEnumerable <>)

我有一段代码,我需要弄清楚一个给定的类型是否实现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<>.

任何人都知道解决方案,顺便也可以对上面的代码发表评论.

reflection f# c#-to-f#

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

标签 统计

c# ×1

c#-to-f# ×1

f# ×1

reflection ×1