2011-09-22 4 views
0

하나의 프로젝트에서 확장 메서드가 적용된 기존의 부분 클래스가 있습니다.기존 확장 메서드를 손실하지 않고 기존 C# 클래스에 특성을 추가합니까?

다른 프로젝트의 해당 클래스에 특성을 추가하고 싶지만 두 번째 부분 클래스를 만들면 확장 메서드가 사라집니다.

처음에는 원래 클래스의 자식으로 새 속성을 사용하여 클래스를 만들었지 만 원본 클래스의 인스턴스를 새 자식 클래스로 지루한 위로 캐스트하는 것을 피하고 싶습니다 (" 최고의 "방법).

어쨌든 상속을 사용하지 않고 확장 메서드를 잃지 않고 특성을 추가 할 수 있습니까?

+0

저는 전문가는 아니지만, 지적했듯이 부분적인 클래스를 이런 식으로 사용하는 것이 좋은지 잘 모르겠습니다. –

답변

2

프로젝트 전체에서 부분 클래스를 선언 할 수 없습니다. 단일 프로젝트에 있어야합니다.

기본적으로 클래스에 추가 속성이 필요한 경우 원래 프로젝트에 추가해야합니다.

+0

또한 부분 클래스에는 확장 메서드가있을 수 없습니다. 맞습니까? –

+0

@BalaR : 아니요, 그런 제한은 없습니다. 정적 최상위 클래스가 아닌 일반 클래스 인 한 괜찮습니다. 특히, Edulinq에서 한 파일에 많은 부분 클래스가 퍼져있었습니다. –

+0

아, 알았어요. 당신이 올바른지. 확장 메소드가 사라지는 것이 아니라 클래스가 재정의되었다는 것입니다. 좋습니다. 상속이 있습니다. –

관련 문제