제네릭 유형의 속성에 액세스

너그

좋은 아침,

타사에서 작업해야하는 2 개의 개체가 있습니다. 이러한 개체는 거의 동일합니다 (적어도 액세스해야하는 부분은 다음과 같습니다. 현재 각 개체를 처리하는 별도의 메서드가 있으며 친절한 사람들의 도움을 받아보고 싶습니다. 제가 이것을 제네릭으로 변환 할 수 있다면 두 개체를 모두 처리합니다.

public static ObjectOut Method1(Object1 obj1)
{
   if (obj1.ErrorCode == 0)
   {
      //do something
   }
}

public static ObjectOut Method2(Object1 obj2)
{
   if (obj2.ErrorCode == 0)
   {
      //do something
   }
}

이것을 하나의 제네릭 메서드로 변환하면 객체의 "ErrorCode"속성에 어떻게 액세스 할 수 있습니까? 어떤 도움이나 안내를 주시면 대단히 감사하겠습니다.

감사

Heinzi

두 유형의 객체에 공통 수퍼 유형이 있으면 제네릭도 필요하지 않습니다.

public static ObjectOut Method(ICommonInterfaceWithErrorCodeProperty obj)
{
    if (obj.ErrorCode == 0)
    {
        //do something
    }
}

속성의 이름이 같은 경우 "일반 코드"가 별도의 메서드에 있도록 코드를 리팩터링 할 수 있습니다. 두 가지 예를 들어 보겠습니다.

  1. DoSomething 큰 공통 블록입니다.
  2. DoSomething 개체의 속성에 액세스해야합니다.

첫 번째 경우에는 다음을 추출 할 수 있습니다 DoSomething.

public static ObjectOut Method1(Object1 obj1)
{
   if (obj1.ErrorCode == 0)
   {
      return DoSomething();
   }
}

public static ObjectOut Method2(Object1 obj2)
{
   if (obj2.ErrorCode == 0)
   {
      return DoSomething();
   }
}

public static ObjectOut DoSomething() { ... }

두 번째 경우에는 필요한 모든 값을 추출하여 일반적인 메서드에 전달합니다.

public static ObjectOut Method1(Object1 obj1)
{
     return Method(obj1.ErrorCode);
}

public static ObjectOut Method2(Object2 obj1)
{
     return Method(obj2.ErrorCode);
}

public static ObjectOut Method(int errorCode)
{
     if (errorCode == 0)
     {
         ...
     }
}

객체에서 메서드를 실행해야하는 경우 람다를 Method.

(분명히 오류 코드가 0이 아니면 메서드가 아무 것도 반환하지 않는다는 사실을 수정해야합니다.하지만 컴파일러가 이미 그렇게 말한 것 같습니다.)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

확장 제네릭에서 속성 유형 액세스

분류에서Dev

C #의 함수에서 제네릭 형식의 속성에 액세스

분류에서Dev

제네릭 유형의 제네릭 클래스에서 유형 인수에 액세스

분류에서Dev

제네릭 유형의 클래스 속성 생략

분류에서Dev

C #에서 내부 제네릭의 멤버에 액세스

분류에서Dev

Scala의 매크로 주석에서 제네릭 유형에 어떻게 액세스합니까?

분류에서Dev

제네릭 함수에 전달할 때 @Published 속성의 래핑 된 값에 액세스하는 방법

분류에서Dev

제네릭 유형의 비 제네릭 속성에 대한 유효성 검사

분류에서Dev

제네릭 메서드에서 형식 인수로 사용중인 클래스의 기본 클래스 속성에 액세스 할 수 없습니다.

분류에서Dev

하나의 클래스에서만 제네릭 유형 설정

분류에서Dev

C #에서 모든 유형의 제네릭으로 캐스팅

분류에서Dev

속성 유형이 제네릭 유형을 포함하는 경우 제네릭 클래스의 속성에 제네릭 JsonConverter를 적용하는 방법은 무엇입니까?

분류에서Dev

제네릭 유형으로 인터페이스의 속성에 접근하는 델파이

분류에서Dev

유형이 기본 클래스를 공유하지 않는 제네릭 유형에 의한 다형성

분류에서Dev

제네릭 클래스의 제네릭 메서드에 동적 유형의 인스턴스 전달

분류에서Dev

제네릭 프로그래밍을 위해 변수 유형에 액세스 할 수 있습니까?

분류에서Dev

식에 사용할 제네릭 유형의 속성 유형 가져 오기

분류에서Dev

제네릭 클래스의 제네릭 생성자

분류에서Dev

클래스 생성자에서 제네릭 유형 사용

분류에서Dev

런타임에 생성 된 제네릭 유형 캐스팅

분류에서Dev

C #으로 제네릭 클래스의 동적 클래스 속성에 액세스하는 방법은 무엇입니까?

분류에서Dev

나중에 Java의 코드에서 인스턴스 제네릭 유형 정의

분류에서Dev

Swift : 제네릭 클래스의 제네릭 유형 비교

분류에서Dev

제네릭 형식의 액세스 정적 필드

분류에서Dev

제네릭 유형의 인스턴스는 어떻게 생성합니까?

분류에서Dev

메소드 컨텍스트에 의해 정의 된 Swift 제네릭 유형

분류에서Dev

Unity 3, 제네릭 유형이 확인되지 않음, 유형에 액세스 가능한 생성자가 없습니다.

분류에서Dev

제네릭 유형에서 클래스 속성을 자동 생성 할 수 있습니까?

분류에서Dev

Swift에서 제네릭 유형의 구체적인 인스턴스 확장

Related 관련 기사

  1. 1

    확장 제네릭에서 속성 유형 액세스

  2. 2

    C #의 함수에서 제네릭 형식의 속성에 액세스

  3. 3

    제네릭 유형의 제네릭 클래스에서 유형 인수에 액세스

  4. 4

    제네릭 유형의 클래스 속성 생략

  5. 5

    C #에서 내부 제네릭의 멤버에 액세스

  6. 6

    Scala의 매크로 주석에서 제네릭 유형에 어떻게 액세스합니까?

  7. 7

    제네릭 함수에 전달할 때 @Published 속성의 래핑 된 값에 액세스하는 방법

  8. 8

    제네릭 유형의 비 제네릭 속성에 대한 유효성 검사

  9. 9

    제네릭 메서드에서 형식 인수로 사용중인 클래스의 기본 클래스 속성에 액세스 할 수 없습니다.

  10. 10

    하나의 클래스에서만 제네릭 유형 설정

  11. 11

    C #에서 모든 유형의 제네릭으로 캐스팅

  12. 12

    속성 유형이 제네릭 유형을 포함하는 경우 제네릭 클래스의 속성에 제네릭 JsonConverter를 적용하는 방법은 무엇입니까?

  13. 13

    제네릭 유형으로 인터페이스의 속성에 접근하는 델파이

  14. 14

    유형이 기본 클래스를 공유하지 않는 제네릭 유형에 의한 다형성

  15. 15

    제네릭 클래스의 제네릭 메서드에 동적 유형의 인스턴스 전달

  16. 16

    제네릭 프로그래밍을 위해 변수 유형에 액세스 할 수 있습니까?

  17. 17

    식에 사용할 제네릭 유형의 속성 유형 가져 오기

  18. 18

    제네릭 클래스의 제네릭 생성자

  19. 19

    클래스 생성자에서 제네릭 유형 사용

  20. 20

    런타임에 생성 된 제네릭 유형 캐스팅

  21. 21

    C #으로 제네릭 클래스의 동적 클래스 속성에 액세스하는 방법은 무엇입니까?

  22. 22

    나중에 Java의 코드에서 인스턴스 제네릭 유형 정의

  23. 23

    Swift : 제네릭 클래스의 제네릭 유형 비교

  24. 24

    제네릭 형식의 액세스 정적 필드

  25. 25

    제네릭 유형의 인스턴스는 어떻게 생성합니까?

  26. 26

    메소드 컨텍스트에 의해 정의 된 Swift 제네릭 유형

  27. 27

    Unity 3, 제네릭 유형이 확인되지 않음, 유형에 액세스 가능한 생성자가 없습니다.

  28. 28

    제네릭 유형에서 클래스 속성을 자동 생성 할 수 있습니까?

  29. 29

    Swift에서 제네릭 유형의 구체적인 인스턴스 확장

뜨겁다태그

보관