Вы получаете нулевое значение для инициализированного списка, потому что вы не назначаете TextSize
правильно.
...
public List<int> TextSizeResult { get; set; } //Top initialized
...
public void GetTextSize()
{
List<int>TextSize = new List<int>();
if (SmallCustomTextSize)TextSize.Add(12);
if (MediumCustomTextSize) TextSize.Add(14);
if (LargeCustomTextSize) TextSize.Add(16);
if (VeryLargeCustomTextSize) TextSize.Add(17);
// var result = TextSize; <--- This line creating local variable called result.
//Instead of assigning `TextSize` to local variable, assign it to class level property
TextSizeResult = TextSize; //This was missing
}
Другой подход:
Вы можно вернуть тот же список из этой функции и использовать его в другой функции
public List<int> GetTextSize()
{ //^^^^^^^^^ Change void to List<int> i.e type of list
List<int>TextSize = new List<int>();
if (SmallCustomTextSize)TextSize.Add(12);
if (MediumCustomTextSize) TextSize.Add(14);
if (LargeCustomTextSize) TextSize.Add(16);
if (VeryLargeCustomTextSize) TextSize.Add(17);
return TextSize; //Instead of assigning it to result return it.
}
Теперь это даст вам гибкость при передаче списка TextSize
в другой функции.
Как,
...
var textSize = GetTextSize();
var result = AnotherFunction(textSize);
...