使用[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.ObjectModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -14,7 +15,7 @@ namespace Deedy.Activity
public class ActionTemplateCollection : ObservableCollection<DataTemplate>
{
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));
bool result = false;

View File

@@ -16,9 +16,9 @@ namespace Deedy.Activity
public class ParamDefineCollection : InitialSortedObservableCollection<ParamDefineAttribute>
{
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;
foreach (var item in this)

View File

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