使用[NotNullWhen(true)]标记「TryGetParamDefine」方法
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user