다른 클래스를 사용하는 클래스가 있는데이 클래스는 초기 클래스의 어떤 인스턴스가 해당 클래스를 소유하고 있는지 (즉 문제가 있음) 알아야합니다. 예를 들어 보겠습니다. :이 푸대로 작동하지 않습니다인터페이스 및 제네릭을 사용하는 양방향 참조
public interface IFoo<T>
{
}
public interface IBar
{
IFoo<IBar> Foo { get; set; }
}
public class Foo<T> : IFoo<T> where T : IBar, new()
{
private readonly T _bar;
public Foo()
{
_bar = new T {Foo = this};
}
}
class Bar : IBar
{
public IFoo<IBar> Foo { get; set; }
}
=이 작동하지 않습니다 - 나는 IFoo이를 캐스팅해야 할 (컴파일을하지만, 런타임에 실패 할) 경우에도 마찬가지입니다. 코드를 여러 가지 방법으로 조정하려고 시도했지만 작동하는 구현을 찾지 못했습니다.
바라는 바에 따르면 내가하고 싶은 일을 볼 수있을 것입니다. -)
그 트릭을 했어! 문제를 해결하고 새로운 것을 배웠습니다. 나쁘지 않아 고마워! –