如何在 C# Pulumi Azure Native 中将堆栈配置字符串解析为 EnumType 结构
How to parse stack configuration string to EnumType struct in C# Pulumi Azure Native
正在尝试从堆栈设置文件 (Pulumi.dev.yaml
) 获取资源参数并使用配置值创建资源,例如 StorageAccount。对于 SkuName
和 Kind
,正在使用 readonly struct
(为什么不枚举???)如果它们是 enum
类型,我可以很容易地从字符串(堆栈配置字符串)中解析value) 使用 Enum.Parse(EnumType, "stringValue")
.
枚举
如何将堆栈配置字符串值解析为 (EnumType) 结构?。我错过了什么吗?有没有更好的方法来实现?
(.Net SDK 使用 ExpandableStringEnum: ExpandableStringEnum<SkuName>
→
SkuName
)
目前没有直接的方法可以做到这一点。您必须回过头来进行反思才能完成这项工作:
public static T ParseEnum<T>(string value)
{
return (T)typeof(T).GetProperty(value)?.GetValue(null);
}
// Usage example
var sku = ParseEnum<SkuName>("Standard_LRS");
this issue 有改进,请点赞。
正在尝试从堆栈设置文件 (Pulumi.dev.yaml
) 获取资源参数并使用配置值创建资源,例如 StorageAccount。对于 SkuName
和 Kind
,正在使用 readonly struct
(为什么不枚举???)如果它们是 enum
类型,我可以很容易地从字符串(堆栈配置字符串)中解析value) 使用 Enum.Parse(EnumType, "stringValue")
.
如何将堆栈配置字符串值解析为 (EnumType) 结构?。我错过了什么吗?有没有更好的方法来实现?
(.Net SDK 使用 ExpandableStringEnum: ExpandableStringEnum<SkuName>
→
SkuName
)
目前没有直接的方法可以做到这一点。您必须回过头来进行反思才能完成这项工作:
public static T ParseEnum<T>(string value)
{
return (T)typeof(T).GetProperty(value)?.GetValue(null);
}
// Usage example
var sku = ParseEnum<SkuName>("Standard_LRS");
this issue 有改进,请点赞。