나는 다음과 같은 코드를 가지고 :기본 클래스의 하위 클래스를 사용하는 확장 메서드를 구현하는 방법은 무엇입니까?
public class MsgContract {
public virtual string ToJson() {
return genJson();
}
}
public class A: MsgConract {
...
}
public class B: MsgConract {
...
}
public class ExtentionMethods {
public static string ToJson(this List<MsgContract> lst) {
foreach (var item in lst)
string entry += item.ToJson();
return entry;
}
}
void Main() {
List<A> lst = new List<A>();
lst.ToJson(); // error
}
이 확장 메서드는 목록을 허용하지만 것 같다되지 MsgContract의 후손의 목록을 표시합니다.
왜 이런지 이해합니다. 그러나 해결 방법이 있습니까?
감사합니다. 정확히 내가 찾던 ... 뇌 전문의가 있었어. – AngryHacker
네, 걱정할 필요가 없습니다. 나 거기 가봤 어. –