[英]How to group extension methods?
我有一個靜態類,其中包含各種類型的擴展方法。 是否有任何實用程序或將其分為幾個類的方法-每個目標類型的單獨類。
從“干凈的代碼”的角度來看,將各種擴展方法放入不同的類中是一個好主意,但是擴展方法的主要“分組”是通過將它們放入不同的命名空間來實現的。 原因是可以通過“使用”適當的名稱空間來使用擴展方法。
將不同的擴展方法組放入不同的名稱空間是一個好主意,因為您可能會遇到沖突的擴展方法。 如果出現這種情況,和擴展方法,每個邏輯組是在一個細粒度的命名空間,你應該能夠通過簡單地移除的一個解決沖突using
的語句,從而留下using
語句包含你真正想要的擴展方法。
以下是一些最佳做法的鏈接:
我有另一種分組方式:
public class StringComplexManager
{
public StringComplexManager(String value)
{
Value = value;
}
public String Value { get; set; }
}
public static class StringComplexExtensions
{
public static StringComplexManager ComplexOperations(this String value)
{
return new StringComplexManager(value);
}
public static int GetDoubleLength(this StringComplexManager stringComplexManager)
{
return stringComplexManager.Value.Length * 2;
}
}
用法是:
string a = "Hello"
a.ComplexOperations().GetDoubleLength()
ComplexOperation()
對擴展方法進行分組,並縮小了智能感知的范圍,因此,如果您最初有數百種字符串擴展方法,則現在只能在智能感知中看到一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.