编写「TryClone」方法

This commit is contained in:
zengwenjie
2025-09-19 21:23:29 +08:00
parent 86bdbb6787
commit b6980faccd

View File

@@ -221,6 +221,19 @@ namespace Deedy.Activity
catch { return null; } catch { return null; }
} }
/// <summary> /// <summary>
/// 尝试克隆一个「IElement」节点
/// </summary>
/// <param name="this">要克隆的节点</param>
/// <param name="element">克隆后的结果</param>
/// <returns>如果克隆失败则返回「False」</returns>
public static bool TryClone(this IElement @this, out IElement element)
{
#pragma warning disable CS8601 // 引用类型赋值可能为 null。
element = @this.Clone();
#pragma warning restore CS8601 // 引用类型赋值可能为 null。
return element is not null;
}
/// <summary>
/// 尝试将一个「IElement」元素序列化为一个字符串形式档案 /// 尝试将一个「IElement」元素序列化为一个字符串形式档案
/// </summary> /// </summary>
/// <param name="this">要序列化的元素</param> /// <param name="this">要序列化的元素</param>
@@ -269,7 +282,7 @@ namespace Deedy.Activity
/// <param name="document">要解析的「档案」</param> /// <param name="document">要解析的「档案」</param>
/// <param name="element">解析后的对象</param> /// <param name="element">解析后的对象</param>
/// <returns>如果解析失败则返回「False」</returns> /// <returns>如果解析失败则返回「False」</returns>
public static bool TryDecode(this string document,[AllowNull] out IElement element) public static bool TryDecode(this string document, out IElement element)
{ {
#pragma warning disable CS8600 // 将 null 字面量或可能为 null 的值转换为非 null 类型。 #pragma warning disable CS8600 // 将 null 字面量或可能为 null 的值转换为非 null 类型。