Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 后期序列化_C#_Postsharp - Fatal编程技术网

C# 后期序列化

C# 后期序列化,c#,postsharp,C#,Postsharp,编译时和运行时之间方面的持久性是通过序列化方面来实现的 从 就我的理解而言,只有当我使用CompileTimeInitialize方法在编译时设置某些值时,这才是重要的。我很少用这个。我认为实例化方面比反序列化方面要快得多,不是吗?因此,如果我可以选择跳过序列化过程,PostSharp不会更快吗?我想你说的是CompileTimeInitialize。如果您不需要它,可以使用MsilAspectSerializer跳过序列化(请参阅)。感谢您的快速回答:)您是对的。我现在就纠正这个问题。在开发可

编译时和运行时之间方面的持久性是通过序列化方面来实现的


就我的理解而言,只有当我使用
CompileTimeInitialize
方法在编译时设置某些值时,这才是重要的。我很少用这个。我认为实例化方面比反序列化方面要快得多,不是吗?因此,如果我可以选择跳过序列化过程,PostSharp不会更快吗?

我想你说的是CompileTimeInitialize。如果您不需要它,可以使用MsilAspectSerializer跳过序列化(请参阅)。

感谢您的快速回答:)您是对的。我现在就纠正这个问题。在开发可序列化方面时,您考虑的用例是什么?对于记录器,我只使用了一次
CompileTimeInitialize
。序列化是否比对反射对象的运行时访问更快/更好?我可以自己试一下,但也许你已经准备好了答案。默认设置是为方便使用而优化的,而不是为了性能。CompileTimeInitialize通常很有用,因为在构建时计算某些内容并将其反序列化比在运行时计算要便宜。谢谢Gael。我读了一些关于PostSharp的客户故事,但我从未读过需要编译时初始化的方面。您可以解释任何用例吗?例如,日志方面可能需要打印一个由类型名称、方法名称及其参数类型组成的字符串。由于所有这些信息在构建时都是已知的,因此最好在CompileTimeInitialize中计算该字符串,并将其存储在将被序列化的字段中。