Silverlight 클래스 라이브러리에서 어떻게 작성할 수 있습니다 (응용 프로그램으로 앱으로).

StackOverflow https://stackoverflow.com/questions/5982062

문제

프로젝트 A에있는 app.xaml.cs에 공개 속성이 거의없고 프로젝트 B에서 참조하고 싶습니다. 그러나 프로젝트 A는 프로젝트 B에 대한 참조가 있으므로 프로젝트 참조를 다시 추가 할 수 없습니다.프로젝트 B에서 그렇지 않으면 순환 오류가 발생합니다.따라서 수업 라이브러리에서 해당 속성을 어떻게 참조 할 수 있습니까?나는 반영을 사용하고 싶지 않다 :).

해결 방법은 프로젝트 B의 한 클래스에 해당 속성을 저장 했으므로 프로젝트 A뿐만 아니라 프로젝트 B뿐만 아니라 프로젝트 B에서 참조 할 수있게 만들었으며 그 속성을 정적으로 만들었고 모든 것이 잘 작동했습니다.그러나 나는 아직도 내가 그들을 app.xaml.cs에 저장했는지 알고 싶습니다.사용할 수있는 옵션은 무엇입니까?

미리 감사드립니다 :)

도움이 되었습니까?

해결책

앱 클래스는 응용 프로그램 프로젝트와 관련된 만 노출되어야합니다.B.DLL 에서이 일들이 액세스 할 수 있음을 깨닫게되면 응용 프로그램 프로젝트의 것보다 더 많은 것과 관련이 있으므로 더 이상 응용 프로그램 프로젝트에 속하지 않습니다.

정적 속성으로 이러한 것들을 수행하는 b.dll에 클래스를 추가하는 것은 합리적인 접근 방식 일 수 있습니다.또 다른 일반적인 패턴은 단일 Current static 속성을 갖는 것입니다.

public MyClass
{
    private static MyClass _current = new MyClass();
    public static MyClass Current { get { return _current; } }

    public string SomeInstanceValue { get; set; }
}
.

모두 A와 B는 패턴을 사용하여 PerenaCodiceCeTagcode를 사용하여 사물에 액세스 할 것입니다.이 접근 방식의 장점은 var x = MyClass.Current.SomeInstanceValue 속성 Getter가 "현재"인스턴스를 사용할 수 있는지 여부를 결정할 수있게합니다.

applicationLifetimeObjects .

다른 팁

A와 B가 무언가를 필요로 할 때, 아마도 C 프로젝트 (일반적으로 C)에 넣은 다음 A와 B 모두에서 C를 참조해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top