使用[NotNullWhen(true)]标记「TryGetParamDefine」方法

This commit is contained in:
zengwenjie
2025-09-26 11:52:23 +08:00
parent 2d73f2de0c
commit 3f95883da6
3 changed files with 7 additions and 6 deletions

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Diagnostics; using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -14,7 +15,7 @@ namespace Deedy.Activity
public class ActionTemplateCollection : ObservableCollection<DataTemplate> public class ActionTemplateCollection : ObservableCollection<DataTemplate>
{ {
public ActionTemplateCollection() { } public ActionTemplateCollection() { }
public bool TryGetTemplate(Type type, out DataTemplate template) public bool TryGetTemplate(Type type, [NotNullWhen(true)] out DataTemplate template)
{ {
DataTemplate dataTemplate = new DataTemplate(typeof(IActionElement)); DataTemplate dataTemplate = new DataTemplate(typeof(IActionElement));
bool result = false; bool result = false;

View File

@@ -16,9 +16,9 @@ namespace Deedy.Activity
public class ParamDefineCollection : InitialSortedObservableCollection<ParamDefineAttribute> public class ParamDefineCollection : InitialSortedObservableCollection<ParamDefineAttribute>
{ {
internal ParamDefineCollection() { } internal ParamDefineCollection() { }
public bool TryGetParamDefine(string name, [NotNull] out ParamDefineAttribute value) public bool TryGetParamDefine(string name, [NotNullWhen(true)] out ParamDefineAttribute? value)
{ {
ParamDefineAttribute pda = new(); ParamDefineAttribute? pda = null;
bool result = false; bool result = false;
foreach (var item in this) foreach (var item in this)

View File

@@ -111,11 +111,11 @@ namespace Deedy.Activity
var pda = prop.GetCustomAttribute<ParamDefineAttribute>(); var pda = prop.GetCustomAttribute<ParamDefineAttribute>();
if (pda != null) if (pda != null)
{ {
pda.Name = prop.Name;
if (element.ParamsMapping.TryGetParamDefine(prop.Name, out var value)) pda = value; if (element.ParamsMapping.TryGetParamDefine(prop.Name, out var value)) pda = value;
else element.ParamsMapping.Add(pda); else element.ParamsMapping.Add(pda);
value.Target = element; pda.Name = prop.Name;
value.Property = prop; pda.Target = element;
pda.Property = prop;
} }
} }
} }