What are the benefits of resource(.resx) files?

て烟熏妆下的殇ゞ 提交于 2019-11-26 19:48:28
  • Resource files give you an easy way to localize/internationalize your .net applications by automatically determining which language resx file to use based on the user's locale. To add more languages, simply add another translated resource file.

  • Resource files give you a central location to store your strings, files and scripts and refer to them in a strongly-typed manner (so the compile will break if you reference them improperly).

  • Resource files can be compiled into satellite assemblies, making it easy to change up the resources in a production application without having to recompile the whole thing.

As a supplement to the other answers, which I've upvoted, I'd like to add that string resources are for human-readable text, not constants that will be used programmatically. They're great for error messages, button labels and the like.

Very often, rather than the final string, we store a format string so that variables can be substituted in at the last moment. The nice thing about this method is that, unlike concatenation, it's not broken when a language has different word order requirements.

With resx you can have one per language (that is spoken language not programming language) enabling your program / system to be multilingual.

Resource files enable you to change the text/graphics your program will display without editting the code of the program itself. For many reasons, it is often considered ideal to avoid needing to edit your program's source code in order to make changes that are not part of your application's logic.

In addition to the answers above, resource files can also provide you an place to store test files for performing Read/Write tests. That way, regardless of how other people's environment is set up, you can have a place to store logs or other files.

Keep in mind that what files you do place in resources must be serializable. Check below for more info:

https://msdn.microsoft.com/en-us/library/f45fce5x(v=vs.80).aspx

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!