匿名类型可以从其他类型继承吗?
-
28-09-2019 - |
题
根据MSDN文档 StringComparer.OrdinalIgnoreCase
财产:
ordinalignorecase属性实际上返回了从 StringComparer 班级。
这是我不熟悉的功能 - 具有继承的匿名类型吗?或通过“匿名类”作者只是指“内部班级” StringComparer
, ,对客户端代码看不见”?
解决方案
如果您查看StringComparer的源代码,则可以看到Oginalignorecase返回一个从StringComparer派生的OrdinalComparer实例。
我看不到的没有什么“匿名”,只是 内部的 因此,您无法从框架外部看到它。
其他提示
在术语的正常c#含义中,这不是匿名类型。
它只是内部类型,因此您不知道它的名称:您无法参考代码中的确切类型。
这 编译器 可以创建从其他类型继承的匿名类型 - 您不能。太糟糕了,真的是一个很酷的功能,可以直接创建一种匿名类型,该类型是从另一个类继承或实现界面。
匿名类型是 匿名的 对我们而言,不是CLR和合格的。编译器使用一个有趣的命名,其中包括名称中的<>,只有编译器才能做到这一点!和 也许查克·诺里斯(Chuck Norris)...
不隶属于 StackOverflow