C # 메서드에서 제네릭 클래스 참조를 얻는 방법

Mehmet Topcu

헤드 필드와 일반 유형 데이터를 가져 오는 모델이 있습니다.

public class RootApiModel<T> where T : class
{
    public string @event { get; set; }
    public string timestamp { get; set; }
    public string token { get; set; }
    public string signature { get; set; }
    public int status { get; set; }
    public T data { get; set; }
}

내 문제는 RequiredFieldsControl클래스 에서 필수 필드를 확인 하고 있습니다. 코드를 반복하지 않으려면 헤드 컨트롤과 일반 데이터 컨트롤을 별도로 확인하고 싶습니다.하지만 어떻게 HeadRequiredFields메서드에 대한 참조를 얻을 수 있습니까?

"RootApiModel<object> item" 

또는

"RootApiModel<T> item"

변환 할 수 없음 경고가 표시됩니다.

 public static class RequiredFieldsControl
{
    private static void HeadRequiredFields(RootApiModel<object> item)
    {
        if (string.IsNullOrEmpty(item.@event))
            throw new Exception("Event Alanı Zorunludur");

        if (string.IsNullOrEmpty(item.timestamp))
            throw new Exception("Timestamp Alanı Zorunludur");

        if (string.IsNullOrEmpty(item.token))
            throw new Exception("Token Alanı Zorunludur");

        if (string.IsNullOrEmpty(item.signature))
            throw new Exception("Signature Alanı Zorunludur");

        if (item.status <= 0)
            throw new Exception("Status Alanı Zorunludur");
    }
    public static void BuildingControl(RootApiModel<BuildingApiModel> buildingItem)
    {
        HeadRequiredFields(buildingItem);

        if (buildingItem.data.ReferenceID<=0)
            throw new Exception("BuildingReferenceID Alanı Zorunludur");

        if (string.IsNullOrEmpty(buildingItem.data.BuildingName))
            throw new Exception("BuildingName Alanı Zorunludur");
    }

    public static void BlockControl(RootApiModel<BlockApiModel> blockItem)
    {
        HeadRequiredFields(blockItem);

        if (blockItem.data.BuildingReferenceID <= 0)
            throw new Exception("BuildingReferenceID Alanı Zorunludur");

        if (blockItem.data.BlockReferenceID <= 0)
            throw new Exception("BlockReferenceID Alanı Zorunludur");

        if (string.IsNullOrEmpty(blockItem.data.BlockName))
            throw new Exception("BlockName Alanı Zorunludur");
    }

}
Neil

HeadRequiredFields는 다음과 같이 보일 것입니다.

private static void HeadRequiredFields<T>(RootApiModel<T> item)  where T : class

이것은 <T>참조 유형으로 제한 되므로 값 유형은 허용되지 않습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

제네릭 클래스에서 Iterable <> 메서드를 구현하는 방법

분류에서Dev

C ++에서 제네릭 기본 클래스를 초기화하는 방법

분류에서Dev

C #에서 제네릭 형식과 클래스를 비교하는 방법

분류에서Dev

C #에서 제네릭 메서드의 값을 얻는 방법

분류에서Dev

C #은 "일부"클래스에서 함수를 호출하는 방법을 알고있는 제네릭 메서드를 만듭니다.

분류에서Dev

C #의 제네릭 클래스 내에서 제네릭 클래스의 개체를 사용하는 방법은 무엇입니까?

분류에서Dev

JAVA의 제네릭 클래스에서 오버라이드 메서드를 사용하는 방법

분류에서Dev

제네릭 클래스에서 정적 메서드를 사용하는 해결 방법이 있습니까?

분류에서Dev

제네릭 클래스에서 "Type"개체를 반환하는 메서드 실행 방법

분류에서Dev

제네릭 클래스 메서드에 대한 올바른 확장 메서드를 얻는 방법은 무엇입니까?

분류에서Dev

런타임에 제네릭 클래스에 대한 TypeTag를 얻는 방법

분류에서Dev

다른 클래스 C # Windows Forms에서 클래스를 참조하는 방법

분류에서Dev

C ++ 11 : 외부 클래스에 대한 주소 / 참조를 얻는 방법?

분류에서Dev

C #의 제네릭 클래스가있는 제네릭 메서드

분류에서Dev

C #에서 추상 제약 조건을 사용하여 제네릭 클래스를 인스턴스화하는 방법

분류에서Dev

기본 클래스의 메서드를 사용하여 중첩 클래스에서 제네릭 형식을 반환하는 방법

분류에서Dev

다른 제네릭 기본 클래스에 C # 제네릭 형식 제약 조건을 추가하는 방법은 무엇입니까?

분류에서Dev

클래스 변수에서 정적 메서드를 참조하는 방법

분류에서Dev

Visual Studio C ++ 주어진 클래스 / 메서드에 대한 포함 네임 스페이스를 찾는 방법

분류에서Dev

기본 클래스에서 제네릭 메서드를 호출하는 FSharp

분류에서Dev

C # 제네릭 형식이 일부 클래스를 구현할 때 클래스를 캐스팅하는 방법

분류에서Dev

C # 제네릭 형식을 다른 클래스에 전달하는 방법

분류에서Dev

제네릭 반환 유형을 사용하여 메서드에서 구체적인 클래스의 인스턴스를 반환하는 방법

분류에서Dev

kivy에서 다른 클래스 메소드를 참조하는 방법

분류에서Dev

C ++에서 참조를 기본 클래스로 반환하는 방법

분류에서Dev

C #에서 Microsoft Fakes를 사용하여 인터페이스에서 제네릭 메서드 정의를 스텁 아웃하는 방법

분류에서Dev

C #에서 제네릭 메서드 오버로드를 만드는 방법은 무엇입니까?

분류에서Dev

Kotlin에서 제네릭 클래스를 동일한 클래스의 제네릭 배열에 매핑하는 방법

분류에서Dev

ES 클래스는 다른 메서드 내에서 메서드를 참조하는 방법

Related 관련 기사

  1. 1

    제네릭 클래스에서 Iterable <> 메서드를 구현하는 방법

  2. 2

    C ++에서 제네릭 기본 클래스를 초기화하는 방법

  3. 3

    C #에서 제네릭 형식과 클래스를 비교하는 방법

  4. 4

    C #에서 제네릭 메서드의 값을 얻는 방법

  5. 5

    C #은 "일부"클래스에서 함수를 호출하는 방법을 알고있는 제네릭 메서드를 만듭니다.

  6. 6

    C #의 제네릭 클래스 내에서 제네릭 클래스의 개체를 사용하는 방법은 무엇입니까?

  7. 7

    JAVA의 제네릭 클래스에서 오버라이드 메서드를 사용하는 방법

  8. 8

    제네릭 클래스에서 정적 메서드를 사용하는 해결 방법이 있습니까?

  9. 9

    제네릭 클래스에서 "Type"개체를 반환하는 메서드 실행 방법

  10. 10

    제네릭 클래스 메서드에 대한 올바른 확장 메서드를 얻는 방법은 무엇입니까?

  11. 11

    런타임에 제네릭 클래스에 대한 TypeTag를 얻는 방법

  12. 12

    다른 클래스 C # Windows Forms에서 클래스를 참조하는 방법

  13. 13

    C ++ 11 : 외부 클래스에 대한 주소 / 참조를 얻는 방법?

  14. 14

    C #의 제네릭 클래스가있는 제네릭 메서드

  15. 15

    C #에서 추상 제약 조건을 사용하여 제네릭 클래스를 인스턴스화하는 방법

  16. 16

    기본 클래스의 메서드를 사용하여 중첩 클래스에서 제네릭 형식을 반환하는 방법

  17. 17

    다른 제네릭 기본 클래스에 C # 제네릭 형식 제약 조건을 추가하는 방법은 무엇입니까?

  18. 18

    클래스 변수에서 정적 메서드를 참조하는 방법

  19. 19

    Visual Studio C ++ 주어진 클래스 / 메서드에 대한 포함 네임 스페이스를 찾는 방법

  20. 20

    기본 클래스에서 제네릭 메서드를 호출하는 FSharp

  21. 21

    C # 제네릭 형식이 일부 클래스를 구현할 때 클래스를 캐스팅하는 방법

  22. 22

    C # 제네릭 형식을 다른 클래스에 전달하는 방법

  23. 23

    제네릭 반환 유형을 사용하여 메서드에서 구체적인 클래스의 인스턴스를 반환하는 방법

  24. 24

    kivy에서 다른 클래스 메소드를 참조하는 방법

  25. 25

    C ++에서 참조를 기본 클래스로 반환하는 방법

  26. 26

    C #에서 Microsoft Fakes를 사용하여 인터페이스에서 제네릭 메서드 정의를 스텁 아웃하는 방법

  27. 27

    C #에서 제네릭 메서드 오버로드를 만드는 방법은 무엇입니까?

  28. 28

    Kotlin에서 제네릭 클래스를 동일한 클래스의 제네릭 배열에 매핑하는 방법

  29. 29

    ES 클래스는 다른 메서드 내에서 메서드를 참조하는 방법

뜨겁다태그

보관