Delphi 如何将枚举类型作为方法的参数传递?
我需要将枚举传递给一个方法,但我需要一种通用的方法来传递枚举。这样我就可以用一个通用例程处理不同的枚举Delphi 如何将枚举类型作为方法的参数传递?,delphi,Delphi,我需要将枚举传递给一个方法,但我需要一种通用的方法来传递枚举。这样我就可以用一个通用例程处理不同的枚举 procedure-PopulateComboBox(aComboBox:TMyComboBox;aEnum:??); 变量 ArrayEnumLabels:柏油树; ArrayEnumNames:柏油树; i:整数; 开始 ArrayEnumNames:=Enum.AsArray; ArrayEnumLabels:=Enum.EnumNames; aComboBox.ClearItemsVa
procedure-PopulateComboBox(aComboBox:TMyComboBox;aEnum:??);
变量
ArrayEnumLabels:柏油树;
ArrayEnumNames:柏油树;
i:整数;
开始
ArrayEnumNames:=Enum.AsArray;
ArrayEnumLabels:=Enum.EnumNames;
aComboBox.ClearItemsValue;
对于i:=Enum.MinValue到Enum.MaxValue不开始
aComboBox.Items.Add(
ArrayEnumLabels[i]
);
aComboBox.Values.Add(
枚举值名称(ArrayEnumNames[i])
);
结束;
结束;
我想到了两种可能性:
TValue
(使用System.Rtti
)中-需要使用TValue.From
(在这里进行类型推断时可以省略泛型类型参数)PopulateComboBox
generic这可能与问题没有直接关系,但可能对您有用:所以请使用通用方法,谢谢Stefan。我将尝试你的两个建议。