使用[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