제네릭 유형에서 사용자 컨트롤을 찾는 재귀 함수

LexusFTW

이것은 내 코드입니다

    private void FindControls<T>(Control control, List<T> list)
    {
        foreach (Control c in control.Controls)
        {
            if (c != null)
            {
                if (c is T)
                {
                    list.Add(c);  //<-- Problem is here
                }
                else
                {
                    FindControls<T>(c, list);
                }
            }
        }
    }

나는 메시지를 받았다

" 'System.Collection.Generic.List.Add (T)'에 대한 가장 오버로드 된 일치 항목에 잘못된 인수가 있습니다."

이것은 특정 컨트롤을 찾는 또 다른 방법입니다.

    private void MyMethod(Employee e)
    {
        List<MyUserControlType> employees = new List<MyUserControlType>();
        this.FindControls<MyUserControlType>(this.MyControlRoot, employees);
        foreach (var employee in employees)
        {
            ....
        }
    }

Control 형식에서 상속하지 않는 MyUserControlType 형식의 컨트롤 목록을 반환하고 싶습니다. UserControl에서 상속

어떻게 해결할 수 있습니까?

라훌

다음 as과 같은 연산자를 사용하여 캐스팅 할 수 있습니다.

            if (c is T)
            {
                list.Add((c as T));  //<-- Problem is here
            }

이 제약은 메서드 정의를 수정하여 배치 할 수 있습니다.

private void FindControls<T>(Control control, List<T> list) where T : class
{

(또는) 주석에서 @Ivan이 지적했듯이 메서드에 일반 제약 조건을 배치 할 필요가없는 캐스트 연산자를 사용하여 직접 캐스팅 할 수 있습니다.

            if (c is T)
            {
                list.Add((T)c);  //<-- Problem is here
            }

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

.NET C #-재귀 호출에서 변수 제네릭 유형을 사용하는 방법은 무엇입니까?

분류에서Dev

호환되지 않는 유형의 자바 재귀 제네릭을 사용하여

분류에서Dev

재귀 적으로 유형 클래스 제약 조건을 생성하고 재귀 함수에서 사용

분류에서Dev

Rust에서 함수의 제네릭 유형으로 제네릭 유형 별칭을 사용하는 방법이 있습니까?

분류에서Dev

재귀 각도 양식에서 ngIf를 사용하여 경로로 컨트롤을 찾을 수 없음

분류에서Dev

복잡한 제네릭 유형을 재귀 적으로 적용

분류에서Dev

제네릭 함수에서 유형화 된 Scala 특성을 사용하는 방법은 무엇입니까?

분류에서Dev

제네릭 유형의 함수에서 사용되는 Ordeby (), Where () 등

분류에서Dev

(TypeScript) 제네릭 함수 내에서 사용자가 제공 한 유형을 캡처하는 방법은 무엇입니까?

분류에서Dev

TypeScript 제네릭 함수를 사용하여 전달 된 유형에 존재하는 속성을 적용하는 방법은 무엇입니까?

분류에서Dev

Dart 2에서 제네릭 유형을 인수로 사용할 수없는 이유는 무엇입니까?

분류에서Dev

함수에서 재귀 관련 유형을 사용하는 방법은 무엇입니까?

분류에서Dev

TypeScript에서 제네릭 유형을 재귀 적으로 추론 할 수 있습니까?

분류에서Dev

제네릭 유형에 대해 typeof 값을 사용하는 함수에 대한 인터페이스 정의

분류에서Dev

사전에서 문자열을 작성하는 재귀 함수

분류에서Dev

호환되지 않는 제네릭 유형 : 제네릭 유형과 함께 .class를 사용할 때 하위 유형을 지정할 수 없습니다.

분류에서Dev

제네릭 유형을 사용한 TypeScript 함수 오버로딩

분류에서Dev

유형 만 사용할 수 있는데 제네릭을 사용하는 이유

분류에서Dev

제네릭을 사용하는 Hibernate + 사용자 정의 사용자 유형

분류에서Dev

제네릭 Dart 메서드에서 제네릭 유형 T에 대한 제약을 적용하는 방법

분류에서Dev

Kotlin에서 재귀 유형을 사용하는 방법

분류에서Dev

자바 제네릭 : 하나 명의 함수 서명을 사용하는 과정이 개 일반적인 유형의 청소 방법

분류에서Dev

자바 재귀 함수 트릭

분류에서Dev

함수에서 제네릭 인 관련 유형을 사용하여 반복기를 반환하는 방법은 무엇입니까?

분류에서Dev

제네릭과 함께 keyof 열거 형을 사용하는 typescript

분류에서Dev

Kotlin의 자바 제네릭 : Kotlin에서 자바 원시 유형을 메소드 매개 변수로 사용

분류에서Dev

for 루프를 사용하지 않고 중첩 된 목록에서 최소값을 찾는 재귀 함수

분류에서Dev

Java의 ArrayList of Integers에서 최소값을 찾는 재귀 함수

분류에서Dev

유형을 모르고 제네릭 함수에서 함수를 호출하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    .NET C #-재귀 호출에서 변수 제네릭 유형을 사용하는 방법은 무엇입니까?

  2. 2

    호환되지 않는 유형의 자바 재귀 제네릭을 사용하여

  3. 3

    재귀 적으로 유형 클래스 제약 조건을 생성하고 재귀 함수에서 사용

  4. 4

    Rust에서 함수의 제네릭 유형으로 제네릭 유형 별칭을 사용하는 방법이 있습니까?

  5. 5

    재귀 각도 양식에서 ngIf를 사용하여 경로로 컨트롤을 찾을 수 없음

  6. 6

    복잡한 제네릭 유형을 재귀 적으로 적용

  7. 7

    제네릭 함수에서 유형화 된 Scala 특성을 사용하는 방법은 무엇입니까?

  8. 8

    제네릭 유형의 함수에서 사용되는 Ordeby (), Where () 등

  9. 9

    (TypeScript) 제네릭 함수 내에서 사용자가 제공 한 유형을 캡처하는 방법은 무엇입니까?

  10. 10

    TypeScript 제네릭 함수를 사용하여 전달 된 유형에 존재하는 속성을 적용하는 방법은 무엇입니까?

  11. 11

    Dart 2에서 제네릭 유형을 인수로 사용할 수없는 이유는 무엇입니까?

  12. 12

    함수에서 재귀 관련 유형을 사용하는 방법은 무엇입니까?

  13. 13

    TypeScript에서 제네릭 유형을 재귀 적으로 추론 할 수 있습니까?

  14. 14

    제네릭 유형에 대해 typeof 값을 사용하는 함수에 대한 인터페이스 정의

  15. 15

    사전에서 문자열을 작성하는 재귀 함수

  16. 16

    호환되지 않는 제네릭 유형 : 제네릭 유형과 함께 .class를 사용할 때 하위 유형을 지정할 수 없습니다.

  17. 17

    제네릭 유형을 사용한 TypeScript 함수 오버로딩

  18. 18

    유형 만 사용할 수 있는데 제네릭을 사용하는 이유

  19. 19

    제네릭을 사용하는 Hibernate + 사용자 정의 사용자 유형

  20. 20

    제네릭 Dart 메서드에서 제네릭 유형 T에 대한 제약을 적용하는 방법

  21. 21

    Kotlin에서 재귀 유형을 사용하는 방법

  22. 22

    자바 제네릭 : 하나 명의 함수 서명을 사용하는 과정이 개 일반적인 유형의 청소 방법

  23. 23

    자바 재귀 함수 트릭

  24. 24

    함수에서 제네릭 인 관련 유형을 사용하여 반복기를 반환하는 방법은 무엇입니까?

  25. 25

    제네릭과 함께 keyof 열거 형을 사용하는 typescript

  26. 26

    Kotlin의 자바 제네릭 : Kotlin에서 자바 원시 유형을 메소드 매개 변수로 사용

  27. 27

    for 루프를 사용하지 않고 중첩 된 목록에서 최소값을 찾는 재귀 함수

  28. 28

    Java의 ArrayList of Integers에서 최소값을 찾는 재귀 함수

  29. 29

    유형을 모르고 제네릭 함수에서 함수를 호출하는 방법은 무엇입니까?

뜨겁다태그

보관