gpt4 book ai didi

c# - 可序列化继承

转载 作者:IT王子 更新时间:2023-10-29 03:54:39 26 4
gpt4 key购买 nike

如果某些东西继承自可序列化类,那么子类是否仍然可序列化?

最佳答案

这取决于你的意思是可序列化。如果您指的是 CLI 标记(即 [Serializable] 属性),那么这是继承的(下面的证明)。您必须将每个派生类显式标记为 [Serializable]。但是,如果您指的是 ISerializable 接口(interface),那么是的:接口(interface)实现是继承的,但您需要小心 - 例如通过使用 virtual 方法,以便派生类可以为序列化贡献他们的数据。

using System;

class Program
{
static void Main()
{
Console.WriteLine(typeof(Foo).IsSerializable); // shows True
Console.WriteLine(typeof(Bar).IsSerializable); // shows False
}
}

[Serializable]
class Foo {}

class Bar : Foo {}

关于c# - 可序列化继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/182873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com