C #에서 제네릭 형식으로 인터페이스를 구현하는 클래스 팩토리?

user1713059

파일을 처리하는 일반적인 방법을 만들어야합니다. 파일로 수행해야하는 작업에 따라 특정 클래스를 사용해야합니다. ASP와 C #을 사용합니다. 파일이 업로드되고, 파일을 분석하고, 분석 결과 객체를 생성하고 해당 객체를 기반으로 한 분석 결과를 사용자에게 보여줍니다. 사용자는 분석 결과를 읽고 진행 (버튼 클릭) 여부를 결정합니다. 그가 그렇게한다면 그 분석 결과 객체를 취하고 그에 따라 조치 (처리)를 수행합니다. 처리 결과를 사용자에게 보여줍니다.

일부 쿼리 매개 변수에 따라 (간단 함을 위해) 파일은 다른 클래스에서 처리되어야합니다. 프로세서는 분석기의 구체적인 구현에 대한 특정 분석 결과가 필요합니다 (한 파일 분석 결과에는 사용자 정의 클래스 목록이 포함될 수 있으며 다른 파일 분석 결과에는 다른 특정 필드가 포함될 수 있음). 프로세서는 작업을 수행하기 위해 구현 관련 세부 정보가 필요합니다.

일반 프로젝트를 만들려고했지만 막혔습니다.

팩토리의 magicId는 파일을 구문 분석 / 분석하는 데 사용해야하는 클래스를 지정하는 쿼리 매개 변수입니다.

모두 일반 형식의 인터페이스를 구현하는 클래스의 작업 팩토리를 만드는 방법이 있습니까?

abstract class AnalysisResult
{
}

interface IAnalyzer<TAnalysisResult>
    where TAnalysisResult : AnalysisResult
{
    TAnalysisResult PerformAction(string input);
}

class ConcreteAnalysisResult : AnalysisResult {
    public int SpecificProperty { get; set; }
}

class ConcreteAnalyzer : IAnalyzer<ConcreteAnalysisResult>
{
    public ConcreteAnalysisResult PerformAction(string input)
    {
        return new ConcreteAnalysisResult() { SpecificProperty = input.Length };
    }
}

class AnAnalyzerFactory
{
    IAnalyzer<AnalysisResult> CreateByMagicId(int magicId)
    {
        return new ConcreteAnalyzer();
    }
}
메멧 아 타스

TAnalysisResult공변으로 선언하십시오 . 자세한 내용은 공분산 및 반공 분산을 확인할 수 있습니다.

interface IAnalyzer<out TAnalysisResult> // note out keyword
    where TAnalysisResult : AnalysisResult
{
    TAnalysisResult PerformAction(string input);
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

제네릭 인터페이스를 구현하는 클래스의 C # 팩토리

분류에서Dev

제네릭 인터페이스를 구현하는 클래스의 제네릭 유형 정의 쿼리

분류에서Dev

제네릭 형식 제약 조건이 C #에서 인터페이스를 구현해야하는 경우 클래스 형식 제약 조건은 무엇을 달성합니까?

분류에서Dev

Typescript : 가장 안전한 방법으로 열거 형을 유형에 매핑하는 제네릭 클래스 팩토리를 어떻게 선언합니까?

분류에서Dev

인터페이스를 구현하는 클래스의 제네릭 유형과 인터페이스?

분류에서Dev

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

분류에서Dev

제네릭 기본 클래스의 구체적인 구현을위한 C # 팩토리

분류에서Dev

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

분류에서Dev

C #에서 제네릭 인터페이스 구현

분류에서Dev

비 제네릭 정적 팩토리 메서드를 구현하여 문자열 입력에서 다양한 제네릭 클래스를 만듭니다 ( "동적"유형을 사용하지 않음).

분류에서Dev

제네릭 클래스에서 nullable 형식을 처리하는 방법

분류에서Dev

런타임에 결정되는 <T> 형식을 전달하는 제네릭 클래스로 제네릭 인터페이스 캐스팅

분류에서Dev

제네릭 인스턴스를 반환하는 팩토리 메서드

분류에서Dev

팩토리 클래스 구현 문제

분류에서Dev

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

분류에서Dev

제네릭 클래스로 팩토리 메소드를 명확히하는 java 도움말

분류에서Dev

제네릭 클래스에서 허용되는 유형을 인터페이스에서 사용하는 유형으로 제한

분류에서Dev

제네릭 클래스를 기반으로 제네릭 인터페이스를 정의하는 방법

분류에서Dev

클래스 팩토리 메서드를 상속하는 하위 클래스 문제 (Objective-C)

분류에서Dev

제네릭으로 구현하는 Java 추상 클래스

분류에서Dev

제네릭 하위 클래스 메서드가 C #에서 허용 할 수있는 제한 형식

분류에서Dev

클래스에서 제네릭 형식을 목록으로 사용하는 방법이 있습니까?

분류에서Dev

인터페이스를 구현하는 제네릭 형식을 인스턴스화하는 Java

분류에서Dev

제네릭으로 팩토리 메서드를 선언하는 방법

분류에서Dev

Java에서 C #으로 이터레이터 메소드를 사용하는 인터페이스의 동등성은 클래스에서 구현됩니까?

분류에서Dev

C # 메서드 호출이 인터페이스를 구현하는 클래스를 해당 인터페이스로 캐스팅 할 수 없습니다.

분류에서Dev

인터페이스 및 모든 구현에 대한 제네릭 메서드의 반환을 리팩터링하는 방법

분류에서Dev

개체를 하위 클래스에 대한 제네릭 형식으로 캐스팅하는 방법?

분류에서Dev

데코레이터가 클래스가 아닌 인터페이스에 종속되는 비 제네릭 인터페이스로 클래스 데코레이션

Related 관련 기사

  1. 1

    제네릭 인터페이스를 구현하는 클래스의 C # 팩토리

  2. 2

    제네릭 인터페이스를 구현하는 클래스의 제네릭 유형 정의 쿼리

  3. 3

    제네릭 형식 제약 조건이 C #에서 인터페이스를 구현해야하는 경우 클래스 형식 제약 조건은 무엇을 달성합니까?

  4. 4

    Typescript : 가장 안전한 방법으로 열거 형을 유형에 매핑하는 제네릭 클래스 팩토리를 어떻게 선언합니까?

  5. 5

    인터페이스를 구현하는 클래스의 제네릭 유형과 인터페이스?

  6. 6

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

  7. 7

    제네릭 기본 클래스의 구체적인 구현을위한 C # 팩토리

  8. 8

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

  9. 9

    C #에서 제네릭 인터페이스 구현

  10. 10

    비 제네릭 정적 팩토리 메서드를 구현하여 문자열 입력에서 다양한 제네릭 클래스를 만듭니다 ( "동적"유형을 사용하지 않음).

  11. 11

    제네릭 클래스에서 nullable 형식을 처리하는 방법

  12. 12

    런타임에 결정되는 <T> 형식을 전달하는 제네릭 클래스로 제네릭 인터페이스 캐스팅

  13. 13

    제네릭 인스턴스를 반환하는 팩토리 메서드

  14. 14

    팩토리 클래스 구현 문제

  15. 15

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

  16. 16

    제네릭 클래스로 팩토리 메소드를 명확히하는 java 도움말

  17. 17

    제네릭 클래스에서 허용되는 유형을 인터페이스에서 사용하는 유형으로 제한

  18. 18

    제네릭 클래스를 기반으로 제네릭 인터페이스를 정의하는 방법

  19. 19

    클래스 팩토리 메서드를 상속하는 하위 클래스 문제 (Objective-C)

  20. 20

    제네릭으로 구현하는 Java 추상 클래스

  21. 21

    제네릭 하위 클래스 메서드가 C #에서 허용 할 수있는 제한 형식

  22. 22

    클래스에서 제네릭 형식을 목록으로 사용하는 방법이 있습니까?

  23. 23

    인터페이스를 구현하는 제네릭 형식을 인스턴스화하는 Java

  24. 24

    제네릭으로 팩토리 메서드를 선언하는 방법

  25. 25

    Java에서 C #으로 이터레이터 메소드를 사용하는 인터페이스의 동등성은 클래스에서 구현됩니까?

  26. 26

    C # 메서드 호출이 인터페이스를 구현하는 클래스를 해당 인터페이스로 캐스팅 할 수 없습니다.

  27. 27

    인터페이스 및 모든 구현에 대한 제네릭 메서드의 반환을 리팩터링하는 방법

  28. 28

    개체를 하위 클래스에 대한 제네릭 형식으로 캐스팅하는 방법?

  29. 29

    데코레이터가 클래스가 아닌 인터페이스에 종속되는 비 제네릭 인터페이스로 클래스 데코레이션

뜨겁다태그

보관