如何在具有相同目的的同一解决方案中为C#和VB.NET项目提供有意义的名称?

我有两个包含扩展方法的项目。 一个项目使用C#实现,另一个项目使用VB.NET实现,因为我可以在VB.NET中执行一些我无法在C#中执行的操作,并且我希望在扩展方法中利用这些function。

如何区分项目以表达其含义,同时区分它们是否以不同语言实现?

对于C#精英主义者:

VB.NET支持C#不支持的function之一:

C#扩展方法是否允许通过引用传递参数?

仅供参考:这对参考类型不起作用,这是我感兴趣的。

public static void LoadFromXml(this T targetObject, string xml) { targetObject = _Serializer.DeserializeFromXML(xml); } 

啊……刚看到你的评论。 我建议在C#中实现大多数扩展方法并将其称为“Core”,然后在VB.NET中实现额外的function并将其称为“扩展”。

然后,让VB.NET显式引用Core并从中inheritance。 然后,用户可以将Core程序集用于大多数任务,或者使用Extended进行其他function。

编辑:我仍然认为如果你想办法不分割程序集,你的用户会更好,但显然我不知道你的所有要求/实现细节。

如何区分项目以表达其含义,同时区分它们是否以不同语言实现?

我实际上不会传达这一点。 给两个有意义的项目名称。 每个项目都应该可以被两种语言使用,因此无论用于创建项目的语言如何,名称都应该有意义。