2014-09-03 2 views
-4

속성을 'string class'와 같은 클래스로 확장하려고합니다.C#에서 확장 속성을 만드는 방법은 무엇입니까?

예컨대 :

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

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

확장 속성은 현재 지원되지 않습니다. 확장 방법 만. 자세한 정보 [여기] (https://roslyn.codeplex.com/discussions/541454). –

+0

@D 스탄 틀리 [첨부 된 속성] (http://msdn.microsoft.com/en-us/library/ms749011%28v=vs.110%29.aspx)을 통해 WPF에서 지원됩니다. 텍스트 색상에 대해 이야기하기 때문에 OP에 WPF 또는 다른 용도로 사용할 수 있습니까? –

+2

@ScottChamberlain, 정말로. 그것은 단지 XAML 개념입니다. VB 또는 C# 코드에서는 첨부 된 속성에 대상 개체의 멤버 인 것처럼 액세스 할 수 없습니다. 당신은 OP가 제안한 것과 같은 것으로 보이는 C# 코드를 작성할 수 없습니다. – jmcilhinney

답변

1

당신은 (글을 쓰는 시점에서) C#에서 속성을 확장 할 수 없습니다, 당신은 확실히 그것을 봉인 된 클래스로 string가보고 확장 할 수 없습니다. 속성 대신 메서드를 사용하고 문자열을 상속하는 대신 StringExtension 클래스를 만듭니다.

관련 문제