fastCSharp/setup/cSharp/template/indexSerialize.cs
(开头部分) 29KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using fastCSharp;
namespace fastCSharp.setup.cSharp.template
{
class indexSerialize : pub
{
#region PART CLASS
/*NOTE*/
public partial class /*NOTE*/@TypeNameDefinition : /*NOTE*/copy.TypeNameDefinition, /*NOTE*/fastCSharp.setup.cSharp.indexSerialize.ISerialize<@type.FullName/**/.memberMap>
{
#region NOTE
static fastCSharp.setup.cSharp.indexSerialize Attribute = null;
const int MemberCount = 0;
#endregion NOTE
#region PART BODY
#pragma warning disable 108
/// <summary>
/// 序列化
/// </summary>
private unsafe sealed class serializer : fastCSharp.setup.cSharp.indexSerialize.serializer
{
/// <summary>
/// 序列化
/// </summary>
/// <param name="stream">序列化流</param>
public serializer(unmanagedStream stream) : base(@Attribute.IsReferenceMember, stream) { }
/// <summary>
/// 对象序列化
/// </summary>
/// <param name="value">对象</param>
/// <param name="memberMap">成员位图</param>
#region IF type.IsNull
/// <param name="isPoint">是否记录历史指针</param>
#endregion IF type.IsNull
public void Serialize(@type.FullName value, @type.FullName/**/.memberMap memberMap/*IF:Attribute.IsReferenceMember*//*IF:type.IsNull*/, bool isPoint/*IF:type.IsNull*//*IF:Attribute.IsReferenceMember*/)
{
#region IF Attribute.IsReferenceMember
#region IF type.IsNull
if (isPoint) points[value] = 0;
#endregion IF type.IsNull
#endregion IF Attribute.IsReferenceMember
fastCSharp.unmanagedStream.unsafer unsafeStream = dataStream.Unsafer;
if (memberMap.IsDefault)
{
#region LOOP Members
#region NAME SerializeReference
#region IF MemberType.IsMemberSerialize
#region IF MemberType.SerializeType.IsNull
if (/*NOT:MemberType.IsSerializeType*/(@MemberType.SerializeType.FullName)/*NOT:MemberType.IsSerializeType*/value.@MemberName == null)
{
dataStream.PrepLength(sizeof(int) + sizeof(int));
*(int*)(write = dataStream.Data + dataStream.Length) = @MemberIndex;
*(int*)(write + sizeof(int)) = sizeof(int);
unsafeStream.AddLength(sizeof(int) + sizeof(int));
}
else
#endregion IF MemberType.SerializeType.IsNull
{
dataStream.PrepLength(sizeof(int) + sizeof(int) + sizeof(@MemberType.SerializeType.StructNotNullType));
后面还有 376 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
