gpt4 book ai didi

c# - 哪个是避免魔术字符串键的更好方法?在类中使用字符串常量键还是使用枚举?

转载 作者:太空狗 更新时间:2023-10-29 18:23:31 26 4
gpt4 key购买 nike

我的想法是避免在我的 Asp.Net MVC 应用程序中使用魔法字符串键。为此,我想创建要在应用程序中共享的字符串常量键。

例如,我可以编写 TempData[MyClass.Message]TempData[MyEnum.Message.ToString()] 而不是 TempData["Message"]

public class MyClass
{
public const string Message = "Message";
}

public enum MyEnum
{
Message,
Others
}

我的问题是:避免魔术字符串键的更好方法是什么?在类中使用字符串常量键或将枚举与 ToString() 一起使用?

最佳答案

这取决于偏好和使用。

您能够以强类型方式接受枚举值:

public void SomeFunction(MyEnum someValue)
{
}

或者

TempData[MyEnum.Message]

对于 const 字符串,你不能。

您还有一种内置的方法来枚举枚举中的值。

您还没有提供第三个选项,那就是将您的“常量”放在您的配置设置 (App.Config) 中。这将允许您在编译时间后配置它们。您现在可能不需要它,但将来可能需要,因此值得考虑。

其中之一可能更适合全局化目的。我不确定是哪一个,因为我从未将应用程序全局化。我假设无论哪个在卫星组件中起作用。

基本上,它归结为 TempData 是什么,以及您打算如何使用它。

关于c# - 哪个是避免魔术字符串键的更好方法?在类中使用字符串常量键还是使用枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com