다른 클래스가 직렬화 가능합니다.C에서 동일한 메소드로 다른 클래스 직렬화
나는 다음과 같습니다 그렇게 할 수있는 방법이 :이 기능을 사용할 수 있습니다,하지만 난 ClassName2라는 이름의 두 번째 클래스에 사용 cannto ClassName1를 직렬화하기 위해
public void Serialize(List<ClassName1> CT, string Address)
{
...
XmlSerializer serializer = new XmlSerializer(typeof(List<ClassName1>));
...
}
. 클래스는 다르지만 둘 다 직렬화 가능합니다.
이제 메소드를 복사하여 붙여 넣을 수 있고 클래스를 변경해도되지만 메소드와 유일한 차이점은 이름이므로 바보라고 생각합니다. 내가 모든 C#을의 "개체"입니다 생각 때문에
public void Serialize(List<object> CT, string Address)
{
...
XmlSerializer serializer = new XmlSerializer(typeof(List<object>));
...
}
하지만 난 그것을 사용할 때 나는 "변환 할 수 없습니다"오류가 발생합니다 :
나는 이런 식으로 작업을 수행하려고 노력했다.xml.Serialize(listNumber, Address);
나는이 제네릭으로 해결 될 수있는 느낌이,하지만 난 그래서 난 그것을 작동하는 경우는 어떻게 전혀 생각이 어떤 종류의 일반적인와 함께 일하지 않는다.
정적 메서드를 사용하여 정적 클래스를 만들 수 있습니다. 예 : 'public static void SerializeDynamicClass (this T clsObject) 여기서 T : class { "여기에 XmlSerializer 코드를 수행하십시오" –
MethodMan