2014-09-03 46 views
-4

我想擴展一個屬性到一個類,如'字符串類'。如何在C#中創建擴展屬性?

例如爲:

public Color TextColor 
    { 
     get { ... } 
     set { ... } 
    } 

    string name="reza"; 
    name.TextColor; 
    or 
    name.TextColor= Color.Red; 
+2

擴展屬性目前不受支持。只有擴展方法。更多信息[在這裏](https://roslyn.codeplex.com/discussions/541454)。 – 2014-09-03 04:09:39

+0

@DStanley它們通過[附加屬性](http://msdn.microsoft.com/en-us/library/ms749011%28v=vs.110%29.aspx)在WPF中受支持。對於OP,因爲你正在談論文本顏色,這是爲WPF還是其他? – 2014-09-03 04:11:27

+2

@ScottChamberlain,不是真的。這只是一個XAML概念。在VB或C#代碼中,您無法訪問附加屬性,就好像它是目標對象的成員一樣。你不能編寫看起來像OP建議的C#代碼。 – jmcilhinney 2014-09-03 04:15:28

回答

1

你不能(在寫作的時間)延長在C#中的屬性,你當然不能延長string看到它是一個密封類。 使用方法而不是屬性,並且創建一個StringExtension類而不是繼承字符串。