"A <T> (IList <T> x) where T : I"과 "A (IList <I> x)"의 차이점은 무엇입니까?

EasierSaidThanDone

차이점은 무엇입니까

public void MyMethod<T>(IList<T> myParameter) where T : IMyInterface

public void MyMethod(IList<IMyInterface> myParameter)

?

D 스탠리

IList<T>공변 이 아니므로 IList<SomeObjectThatImplementsIMyInterface>두 번째 메서드 에을 전달할 수 없습니다 .

당신이 할 수 있고 당신이 가지고 있다고 가정하십시오.

class MyClass1 : IMyInterface {}
class MyClass2 : IMyInterface {}

의 구현 MyMethod은 다음 같습니다.

MyMethod(IList<IMyInterface> myParameter)
{
    // perfectly valid since myParameter can hold 
    // any type that implements IMyInterface
    myParameter.Add(new MyClass2());
}

당신이 전화를 시도했다면

MyMethod(new List<MyClass1>()) ;

목록이 MyClass1개체 를 포함하도록 정의되어 있고 개체 를 포함 할 수 없기 때문에 런타임에 실패 MyClass2합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

(SICP) 기능과 절차의 차이점은 무엇입니까?

분류에서Dev

ZendFramework의 Collection과 Fieldset의 차이점은 무엇입니까?

분류에서Dev

Red Hat과 Ubuntu의 GNOME의 차이점은 무엇입니까?

분류에서Dev

이 두 과제의 차이점은 무엇입니까?

분류에서Dev

socat과 agetty의 차이점은 무엇입니까?

분류에서Dev

/ sbin / nologin과 / bin / false의 차이점은 무엇입니까?

분류에서Dev

apt-get과 aptitude의 차이점은 무엇입니까?

분류에서Dev

X11과 Xlib의 차이점은 무엇입니까?

분류에서Dev

`man`과`man (#)`의 차이점은 무엇입니까?

분류에서Dev

"man"과 "info"문서의 차이점은 무엇입니까?

분류에서Dev

LightDM : 좌석과 세션의 차이점은 무엇입니까?

분류에서Dev

GRUB과 SYSLINUX의 차이점은 무엇입니까?

분류에서Dev

Gvim과 Vim의 차이점은 무엇입니까?

분류에서Dev

@RepositoryRestController과 @Repository 주석의 차이점은 무엇입니까?

분류에서Dev

Talend에서 tJava과 tJavaRow의 차이점은 무엇입니까?

분류에서Dev

@Nonnull과 Objects.requireNonNull의 차이점은 무엇입니까?

분류에서Dev

@FormDataParam과 @FormParam의 차이점은 무엇입니까

분류에서Dev

Unit과 () Unit의 차이점은 무엇입니까?

분류에서Dev

panic과 process :: exit의 차이점은 무엇입니까?

분류에서Dev

잭슨 ObjectNode과 JsonNode의 차이점은 무엇입니까?

분류에서Dev

`all : unset`과`all : revert '의 차이점은 무엇입니까?

분류에서Dev

SolrTemplate과 SolrClient의 차이점은 무엇입니까?

분류에서Dev

Quartz에서 Job과 JobDetail의 차이점은 무엇입니까?

분류에서Dev

ax에서 FormControl과 FormBuildControl의 차이점은 무엇입니까?

분류에서Dev

centerTitle과 TextAlign.centre의 차이점은 무엇입니까?

분류에서Dev

C에서 stdout과 stderr의 차이점은 무엇입니까?

분류에서Dev

Kubernetes에서 Label과 Selector의 차이점은 무엇입니까?

분류에서Dev

IPC send / on과 invoke / handle의 차이점은 무엇입니까?

분류에서Dev

GitVersion.Tool과 GitVersionTask의 차이점은 무엇입니까?

Related 관련 기사

  1. 1

    (SICP) 기능과 절차의 차이점은 무엇입니까?

  2. 2

    ZendFramework의 Collection과 Fieldset의 차이점은 무엇입니까?

  3. 3

    Red Hat과 Ubuntu의 GNOME의 차이점은 무엇입니까?

  4. 4

    이 두 과제의 차이점은 무엇입니까?

  5. 5

    socat과 agetty의 차이점은 무엇입니까?

  6. 6

    / sbin / nologin과 / bin / false의 차이점은 무엇입니까?

  7. 7

    apt-get과 aptitude의 차이점은 무엇입니까?

  8. 8

    X11과 Xlib의 차이점은 무엇입니까?

  9. 9

    `man`과`man (#)`의 차이점은 무엇입니까?

  10. 10

    "man"과 "info"문서의 차이점은 무엇입니까?

  11. 11

    LightDM : 좌석과 세션의 차이점은 무엇입니까?

  12. 12

    GRUB과 SYSLINUX의 차이점은 무엇입니까?

  13. 13

    Gvim과 Vim의 차이점은 무엇입니까?

  14. 14

    @RepositoryRestController과 @Repository 주석의 차이점은 무엇입니까?

  15. 15

    Talend에서 tJava과 tJavaRow의 차이점은 무엇입니까?

  16. 16

    @Nonnull과 Objects.requireNonNull의 차이점은 무엇입니까?

  17. 17

    @FormDataParam과 @FormParam의 차이점은 무엇입니까

  18. 18

    Unit과 () Unit의 차이점은 무엇입니까?

  19. 19

    panic과 process :: exit의 차이점은 무엇입니까?

  20. 20

    잭슨 ObjectNode과 JsonNode의 차이점은 무엇입니까?

  21. 21

    `all : unset`과`all : revert '의 차이점은 무엇입니까?

  22. 22

    SolrTemplate과 SolrClient의 차이점은 무엇입니까?

  23. 23

    Quartz에서 Job과 JobDetail의 차이점은 무엇입니까?

  24. 24

    ax에서 FormControl과 FormBuildControl의 차이점은 무엇입니까?

  25. 25

    centerTitle과 TextAlign.centre의 차이점은 무엇입니까?

  26. 26

    C에서 stdout과 stderr의 차이점은 무엇입니까?

  27. 27

    Kubernetes에서 Label과 Selector의 차이점은 무엇입니까?

  28. 28

    IPC send / on과 invoke / handle의 차이점은 무엇입니까?

  29. 29

    GitVersion.Tool과 GitVersionTask의 차이점은 무엇입니까?

뜨겁다태그

보관