ASP.NET MVC中静态或非静态方法之间的区别
发布时间:2020-12-16 06:24:31 所属栏目:asp.Net 来源:网络整理
导读:我需要一个方法,在控制器中返回一些参数,这是它的实现: public ListParameter GetParameters(FormCollection collection) { ListParameter parameters = new ListParameter(); Liststring parameterNames = new Liststring(); //Get Parameters Names and V
我需要一个方法,在控制器中返回一些参数,这是它的实现:
public List<Parameter> GetParameters(FormCollection collection) { List<Parameter> parameters = new List<Parameter>(); List<string> parameterNames = new List<string>(); //Get Parameters Names and Values return parameters; } 我在所有控制器中使用这个方法,所以我想我必须定义它的3个选项: 1 – 对于任何控制器类,在该控制器中定义它,如下所示: public class ProductController : Controller { public List<Parameter> GetParameters(FormCollection collection) { // } } 2 – 在静态类中将其定义为静态方法: public static class GeneralMethods { public static List<Parameter> GetParameters(FormCollection collection) { // } } 3 – 将其定义为无静态: public class GeneralMethods { public List<Parameter> GetParameters(FormCollection collection) { // } } 哪一个更好?哪一个有更好的表现?或许多控制器中使用的定义方法的任何其他选项? 解决方法
三者中的任何一个都不会对性能产生影响. (虽然最后一种方法每次都会创建单独的对象,但它会由GC优雅地处理).
方法1:不,作为标准做法,我们不应该复制代码. 方法2:是,如果您的方法仅取决于输入参数. 方法3:是的,如果你需要设置一些实例变量,你的方法取决于它们. 建议的方法:(方法1方法3) 静态方法不会成为问题,因为在方法中声明的任何变量都在方法的范围内. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 清除MVC 6 / ASP.NET 5中的输出缓存
- ASP.NET Core 2.1身份:如何删除默认UI剃刀页面?
- ASP.NET应用程序不反映区域设置
- asp.net-web-api – 标题中的API密钥与swashbuckle
- asp.net-mvc – Visual Studio 2013无法打开Razor视图 – ‘
- asp.net-mvc – 如何从用户友好的URL中删除不必要的信息,然
- 编辑资源文件而不重新编译ASP.NET应用程序
- asp.net-mvc – ASP.NET Web优化 – 无需捆绑即可缩小
- asp.net – 根据自己的主机Web API Windows服务验证HTTP .N
- asp.net-mvc – ASP.NET MVC AjaxForm没有正确更新部分视图
推荐文章
站长推荐
热点阅读