我有兩個包含擴展方法的項目。一個項目使用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