Ignore:
Timestamp:
Mar 3, 2008, 10:15:06 PM (17 years ago)
Author:
dai
Message:

System/Xml/Serialization/XmlSerializer.abを追加。
まずはシリアライズ処理を動くようにした。
※逆シリアライズは未実装なので、ActiveBasic.Xml.Parserクラスを実装してから対応すること。

Location:
trunk/Include/Classes/ActiveBasic
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Include/Classes/ActiveBasic/Core/TypeInfo.ab

    r450 r452  
    1717    memberNames As *String              ' 名前リスト
    1818    memberTypeFullNames As *String      ' 型名リスト
     19    memberOffsets As *LONG_PTR          ' クラスの先頭ポインタからのオフセット値
    1920    memberCounts As Long                ' 個数
    2021    memberInfosCache As System.Collections.Generic.List<System.Reflection.MemberInfo>
     
    4647        Dim result = New TypeBaseImpl( strNamespace, name, fullName )
    4748        result.SetBaseType( baseType )
    48         result.SetMembers( memberNames, memberTypeFullNames, memberCounts )
     49        result.SetMembers( memberNames, memberTypeFullNames, memberOffsets, memberCounts )
    4950        result.memberInfosCache = This.memberInfosCache
    5051        result.ptrLevel = This.ptrLevel
     
    5455Public
    5556
    56     Sub SetMembers( memberNames As *String, memberTypeFullNames As *String, num As Long )
     57    Sub SetMembers( memberNames As *String, memberTypeFullNames As *String, memberOffsets As *LONG_PTR, num As Long )
    5758        This.memberNames = memberNames
    5859        This.memberTypeFullNames = memberTypeFullNames
     60        This.memberOffsets = memberOffsets
    5961        This.memberCounts = num
    6062
     
    146148            Dim i As Long
    147149            For i=0 To ELM(memberCounts)
    148                 memberInfosCache.Add( New System.Reflection.MemberInfo( memberNames[i], _System_TypeBase_Search( memberTypeFullNames[i] ) ) )
     150                memberInfosCache.Add( New System.Reflection.MemberInfo( memberNames[i], _System_TypeBase_Search( memberTypeFullNames[i] ), memberOffsets[i] ) )
    149151            Next
    150152        End If
Note: See TracChangeset for help on using the changeset viewer.