Is this the same problem, or just expected behavior:
When changing "Text" the available values for "SelectedWord1" are not update while the available values for SelectedWord2 will be updated.
publicclassAvailableValuesTestStep:TestStep{[Display("Text",Order:1)][AvailableValues(nameof(AvailableText))]publicTextText{get;set;}/* * When changing Text the available values for SelectedWord1 are not updated. */[Display("Word1",Order:2)][AvailableValues(nameof(AvailableWordsRef))]publicstringSelectedWord1{get;set;}/* * When changing Text the available values for SelectedWord2 will be updated. */[Display("Word2",Order:3)][AvailableValues(nameof(AvailableWordsObj))]publicstringSelectedWord2{get;set;}publicoverridevoidRun(){}publicIEnumerable<string>AvailableWordsRef=>Text?.Words;publicIEnumerable<string>AvailableWordsObj{get{if(Text!=null){foreach(varwinText.Words)yieldreturnw;}}}publicIEnumerable<Text>AvailableText{get{yieldreturnnewText(newstring[]{"Hello","World"});yieldreturnnewText(newstring[]{"Bad","weather","today."});}}}publicclassText{publicIEnumerable<string>Words;publicText(string[]words){Words=words;}publicoverrideintGetHashCode(){returnWords.GetHashCode();}publicoverrideboolEquals(objectobj){if(objisTextother){varc=other.Words.Intersect(Words);returnc.Count()==Words.Count();}elsereturnfalse;}publicoverridestringToString(){returnstring.Join(" ",Words);}}