# XObject **Repository Path**: lipz89/xobject ## Basic Information - **Project Name**: XObject - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-06 - **Last Updated**: 2025-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XObject 一个灵活的动态对象库,支持动态属性设置与获取、JSON序列化与反序列化等功能。 ## 特性 - 动态设置和获取属性值。 - 支持从字典、JSON字符串、对象等构建动态对象。 - 提供JSON序列化与反序列化功能。 - 支持动态元对象操作,可集成于动态语言运行时。 ## 安装 该项目基于C#开发,使用前请确保已安装.NET Framework或.NET Core运行环境。你可以通过以下方式获取本项目: ```bash git clone https://gitee.com/lipz89/xobject.git ``` ## 使用示例 ### 创建动态对象 ```csharp dynamic obj = new ObjectX(); obj.Name = "XObject"; obj.Value = 123; Console.WriteLine(obj.Name); // 输出: XObject ``` ### 从字典创建对象 ```csharp var dictionary = new Dictionary { { "Name", "XObject" }, { "Value", 123 } }; dynamic obj = ObjectX.From(dictionary); Console.WriteLine(obj.Name); // 输出: XObject ``` ### 序列化与反序列化 ```csharp dynamic obj = new ObjectX(); obj.Name = "XObject"; string json = obj.Serialize(); // 序列化为JSON字符串 Console.WriteLine(json); // 输出: {"Name":"XObject"} dynamic newObj = ObjectX.From(json); // 从JSON字符串反序列化 Console.WriteLine(newObj.Name); // 输出: XObject ``` ## 项目结构 - `src/DynamicObject`: 核心库代码,包含动态对象实现。 - `src/Test`: 单元测试代码,验证动态对象功能。 - `src/DynamicObject/ObjectX.cs`: 主要的动态对象类。 - `src/DynamicObject/JsonConverter.cs`: JSON转换器抽象类。 - `src/DynamicObject/ObjectXJsonConverter.cs`: JSON转换器实现类。 - `src/DynamicObject/ObjectXMeta.cs`: 动态元对象实现类。 ## 贡献指南 欢迎提交Issue和Pull Request。请遵循项目的编码规范,并确保新增功能有相应的测试用例。 ## 协议 本项目遵循MIT License,请查看仓库中的LICENSE文件获取详细信息。