나는 (드) (예) 별도로에는 직렬화하고자하는 기본 클래스에서 상속 상속 설정 수업을Protobuf-Net 상속 사용을 중단하고 상속 된 클래스를 직접 사용하는 방법은 무엇입니까?
[ProtoContract]
[ProtoInclude(1, typeof(GlobalSettings))]
[ProtoInclude(2, typeof(UserSettings))]
public class BaseSettings
{
}
[ProtoContract]
public class GlobalSettings: BaseSettings
{
[ProtoMember(1)]
public string TempPath { get; set; }
}
[ProtoContract]
public class UserSettings: BaseSettings
{
[ProtoMember(1)]
public int UILanguage { get; set; }
}
만 문제는 내가이 방법으로 수행 할 수 있습니다 구성을 잃고 감당할 수 없다 UserSettings가 더 이상 BaseSettings에서 상속받지 않고 독립적으로 사용하도록 다른 어셈블리로 이동 한 경우 (또는) 일종의 변환을 사용하여 (또는 변환없이) GlobalSettings 클래스에 액세스 할 수없는 (계속) 직렬화가 여전히 가능합니까?
하나의 속성 [ProtoMember (1)] UserSettings가있는 [ProtoContract]를 사용하여 다른 기본 클래스를 만들려고했지만 작동하지 않았습니다. [ProtoInclude (1, typeof (UserSettings)]만으로 더미 기본 클래스를 작성하는 것은 정상적으로 작동했습니다. 언급하지 않았으므로 더미 기본 클래스를 추가하지 않고 상속을 "위조"하는 ProtoContract 옵션이 없습니다. 도움을 주셔서 감사합니다. – too