Java에서 C #으로오고 있는데 다음 문제를 해결하는 방법을 찾을 수 없습니다.
일반 기본 클래스가 있습니다.
class MyBase<T> where T : SomeAncestorOfTs
{ ... }
다음 몇 가지 특수 클래스 ( A
, B
, C
...), 그것에서 같이 파생 :
class A : MyBase<SomeSpecificT>
{ ... }
이제 내 코드 어딘가에 Dictionary
의 다양한 자손 을 만들고 MyBase
싶습니다. Dictionary<string,MyBase<>>
,하지만 작동하지 않습니다.
C #에서하는 것 외에 다른 방법이 Dictionary<String,Object>
있습니까?
Java에서는 HashMap<String,MyBase<? extends SomeAncestorOfTs>>
.
UPDATE : T
공통 기본 클래스 ( SomeAncestorOfT
) 가 있어야합니다 .
그렇게 직접 할 수는 없습니다. 내 제안은 또 다른 비 제네릭 기본 클래스를 추가하는 것입니다.
class MyBase
{ ... }
class MyBase<T> : MyBase
{ ... }
그런 다음 해당 기반의 사전을 만듭니다. Dictionary<string,MyBase>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다