c#에서 interface로 여러 파일 형식 구현하기

c#에서 interface로 파일 형식을 구분한 다음에
txt, json, xml같은 파일을 읽어오거나 저장하고 싶은데

예를 들어

public interface Format
{
    string Name { get; set; }
    List<string> text { get; set; }
    int age  { get; set; }
}

이렇게 선언해두고 파일 형식에 맞춰서 상속받고 사용하면 되나요?
예제파일도 검색해보고싶은데 키워드로 검색해도 잘 모르겠네요 ㅠㅠ

1개의 좋아요

답변을 드리기에는 정보가 부족한 것 같습니다.

인터페이스를 이용해서 무엇을 달성하고자 하나요?
가령 동일한 정보를 다양한 포멧에서 읽거나 저장하고 싶으신 건가요?

만약 그게 맞다면 예시로 보여주신 그런 형태는 아닙니다.

정보는 보통 엔터티 클래스 형태로 두고 어떤 포멧이든 동일한 값 형태로 정의해야 합니다.

그리고 인터페이스는 파일에서 읽어서 정보로 변환하는 형태면 괜찮은 인터페이스 디자인이 됩니다.

다음은 예시 입니다.

| 데이터 정의

// record를 쓴 이유는 특별한 이유는 없습니다.
record Data(string Name, List<string> Text, int Age);

| 인터페이스 정의

// 인터페이스 설계의 정답은 없습니다만 이런 느낌으로 만들 수도 있습니다.
interface IStorage<T>
{
    StorageType Type { get; }
    void Save(string filename, T data);
    T Load(string filename);
}

enum StorageType
{
    RawText,
    Json,
    Xml
}

그럼다음 Text, Json, Xml용 IStorage를 구현해서 인스턴스화 한 후 IStorage 형식으로 값을 가져오거나 쓸 수 있습니다.

2개의 좋아요

동일한 정보를 txt, json, db , ftp등을 생각해서 설계를 하고싶다는 말이였습니다!

답변감사합니다 좀더 공부를 해봐야할것같네요 ㅎㅎ 감사합니다!

1개의 좋아요