【发布时间】:2011-06-16 17:22:32
【问题描述】:
我的具体问题是关于 ASP.NET MVC,但我确信答案可以应用到 ASP.NET 之外。
如何处理接受字符串参数但仍需要类型安全的函数?
在 ASP.NET 中,扩展方法 Html.ActionLink 有两个字符串类型的参数:string linkText, string actionName。第一个参数是可以从资源加载的文本,而第二个参数是代码中存在的方法的名称。
一种选择是使用常量字符串创建一个类,而不是编写
Html.ActionLink("Blah blah", "MyAction");
可以写:
Html.ActionLine("Blah blah", StrongType.MyAction);
其中MyAction 是一个名为StrongType 的类中的常量字符串。但是,当可以作为参数传递的方法和其他对象的数量增加时,这将变得难以管理。
第二种选择是使用反射以某种方式加载函数的名称,但这似乎太昂贵了。
有没有更好的方法?你如何确保你没有像前面提到的那样在字符串参数中出现拼写错误?
【问题讨论】:
标签: c# strong-typing