小编lar*_*ars的帖子

获取ServiceStack以保留类型信息

我正在使用ServiceStack将一些对象序列化和反序列化为JSON.考虑这个例子:

public class Container
{
    public Animal Animal { get; set; }
}

public class Animal
{
}

public class Dog : Animal
{
    public void Speak() { Console.WriteLine("Woof!"); }
}

var container = new Container { Animal = new Dog() };
var json = JsonSerializer.SerializeToString(container);
var container2 = JsonSerializer.DeserializeFromString<Container>(json);

((Dog)container.Animal).Speak(); //Works
((Dog)container2.Animal).Speak(); //InvalidCastException
Run Code Online (Sandbox Code Playgroud)

最后一行抛出InvalidCastException,因为Animal字段被实例化为Animal类型,而不是Dog类型.有什么办法可以告诉ServiceStack保留这个特定实例属于Dog类型的信息吗?

.net c# serialization json servicestack

20
推荐指数
1
解决办法
9339
查看次数

获取硬盘的簇大小(通过代码)

我需要通过C或C++找到用户硬盘的簇大小.硬盘使用NTFS(虽然我很高兴知道它是如何在其他文件系统上完成的).

我想我需要的是win32 API调用的一些组合,但我不知道哪个.

例如,在Windows控制台中键入"fsutil fsinfo ntfsinfo c:"会为您提供"每个群集的字节数",这就是我所需要的.(虽然出于显而易见的原因,我不想运行该命令并解析它的输出.)

c file-io winapi ntfs

9
推荐指数
1
解决办法
4905
查看次数

标签 统计

.net ×1

c ×1

c# ×1

file-io ×1

json ×1

ntfs ×1

serialization ×1

servicestack ×1

winapi ×1