我有了的SampleNamespace.Tools.Sample
一个命名空间的.NET 3.5 C#项目。参考名称的情况是不符合CLS
如果我添加一个名为“Samplenamespace.Utils.Example”组装到项目中,我得到以下警告:
标识符“Samplenamespace”只有在不同的情况下是不符合CLS
请注意Samplenamespace
中的小写'n'。
我甚至没有用我的那一刻项目的引用程序集。简单地将其作为参考添加会导致警告。
为什么编译器抱怨这个考虑,我都不暴露在我的公开课给大会的任何引用?
什么解决办法?
谢谢拉尔夫,我仍然不明白为什么这应该没关系,因为我的项目没有任何暴露形成引用装配到任何潜在的客户VB。我有效地从底层程序集中抽象出VB客户端? – user115909 2009-06-02 11:13:19
由于VB不区分大小写,因此无法区分SampleNamespace.A和Samplenamespace.A,因此无法确定要调用哪种类型。为了防止这种歧义,C#编译器将其标记出来,以便您只能创建可以由每个人调用的类型和成员,而不会有任何歧义。 – Gishu 2009-06-02 11:19:28