匿名类型可以inheritance其他类型吗?

根据StringComparer.OrdinalIgnoreCase属性的MSDN文档:

OrdinalIgnoreCase属性实际上返回从StringComparer类派生的匿名类的实例。

这是一个我不熟悉的function – 带inheritance的匿名类型吗? 或者通过“匿名类”,作者只是意味着“从StringComparer派生的内部类,对客户端代码不可见”?

如果查看StringComparer的源代码,可以看到OrginalIgnoreCase返回OrdinalComparer的实例,该实例派生自StringComparer。

我可以看到,没有任何关于此的“匿名”,只是它是内部的,所以你无法从框架之外看到它。

它不是该术语的正常C#含义中的匿名类型。

它只是一个内部类型,因此您不知道它的名称:您不能在代码中引用确切的类型。

编译器可以创建从其他类型inheritance的匿名类型 – 您不能。 这太糟糕了,实际上创建一个匿名类型是一个很酷的function,它可以从另一个类inheritance或实现一个接口。

匿名类型对我们来说是匿名的 ,而不是CLR和编译器。 编译器使用一个有趣的命名,其名称中包含<>,只有编译器才能这样做! 也许查克诺里斯 ……