我有两个包含扩展方法的项目。一个项目使用C#实现,另一个使用VB.NET实现,因为在VB.NET中我可以做一些事情,我不能在C#中,我想在我的扩展方法中利用这些功能。如何在具有相同目的的相同解决方案中为C#和VB.NET项目提供有意义的名称?
我如何命名项目来表达它们的意思,同时区分它们是用不同的语言实现的?
对于C#精英:
之一在于VB.NET支持C#不特点:
Doesn't C# Extension Methods allow passing parameters by reference?
供参考:这并不适用于引用类型的工作,这是我感兴趣的是什么。
public static void LoadFromXml<T>(this T targetObject, string xml)
{
targetObject = _Serializer.DeserializeFromXML<T>(xml);
}
只是好奇......您在VB.NET中使用了哪些功能,您认为您不能在C#中使用?即使这是真的,你可以用VB.NET建立一个DLL,并在你的C#项目中利用它。 – Brad
的确如此,VB.NET支持ByRef参数是它的扩展方法。 http://stackoverflow.com/questions/1259103/doesnt-c-sharp-extension-methods-allow-passing-parameters-by-reference – Achilles
它都编译为相同的东西(MSIL),所以不会有任何区别用户。通常组件是根据它们执行的功能命名的。我不认为会有一个干净的解决方案,并且对于用户来说(他必须记得那个特定函数在哪个任意程序集中)是非常令人沮丧的。哪些功能非常重要,以至于它们会促使您拆分组件? – JDB