Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 资源字符串位置_.net_Resources - Fatal编程技术网

.net 资源字符串位置

.net 资源字符串位置,.net,resources,.net,Resources,放置资源字符串的最佳位置在哪里?是否取决于范围?目前,我们的大多数字符串都放在项目级别,但某些字符串只需要用于一个表单。我的想法是,这些弦应该尽可能靠近它们的用途 除了直接在表单上使用语言敏感字符串外,我还做了一些添加编程字符串的工作(不一定是最好的方法,但到目前为止效果很好): 除了在项目中添加大量文件夹以按表单分组外,我还没有找到一个干净的解决方案,只能将.resx文件保存在它们自己的资源文件夹中。通常我会吃一些类似的东西: 资源\语言 资源\Xml 资源\图像 等等 我发现每个表单使用一个

放置资源字符串的最佳位置在哪里?是否取决于范围?目前,我们的大多数字符串都放在项目级别,但某些字符串只需要用于一个表单。我的想法是,这些弦应该尽可能靠近它们的用途

除了直接在表单上使用语言敏感字符串外,我还做了一些添加编程字符串的工作(不一定是最好的方法,但到目前为止效果很好):

除了在项目中添加大量文件夹以按表单分组外,我还没有找到一个干净的解决方案,只能将.resx文件保存在它们自己的资源文件夹中。通常我会吃一些类似的东西:

资源\语言
资源\Xml
资源\图像
等等

我发现每个表单使用一个.resx文件是最好的方法,因为您永远不知道何时需要添加另一个字符串。我还为“Save”、“Load”等字符串创建了一个Common.resx,这些字符串适用于整个应用程序,并将在多个位置使用。对于每个表单一个-.resx模型,您必须严格要求仅在该表单中使用字符串,这可能意味着随着应用程序的增长,会重复一些字符串。但这比在表单和.resx文件之间有一个蜘蛛网引用要容易得多

对于自定义控件,我将.resx文件与源文件放在一起,因为它们通常有自己的文件夹,并且字符串不会在自定义控件之外使用。(注意:这也意味着自定义控件不应在其自己的.resx文件之外使用字符串。)这还允许您在必要时轻松地将整个自定义控件提取到单独的程序集中

对于用户控件,它们通常是特定于应用程序的,因此将公共语言的东西绑定到它并不是很糟糕,但我肯定会对特定于用户控件的字符串使用单独的.resx,并遵循与自定义控件相同的文件夹结构。

以下是我所做的(不一定是最好的方式,但到目前为止效果很好)对于添加编程字符串,除了直接在窗体上使用语言敏感字符串外:

除了在项目中添加大量文件夹以按表单分组外,我还没有找到一个干净的解决方案,只能将.resx文件保存在它们自己的资源文件夹中。通常我会吃一些类似的东西:

资源\语言
资源\Xml
资源\图像
等等

我发现每个表单使用一个.resx文件是最好的方法,因为您永远不知道何时需要添加另一个字符串。我还为“Save”、“Load”等字符串创建了一个Common.resx,这些字符串适用于整个应用程序,并将在多个位置使用。对于每个表单一个-.resx模型,您必须严格要求仅在该表单中使用字符串,这可能意味着随着应用程序的增长,会重复一些字符串。但这比在表单和.resx文件之间有一个蜘蛛网引用要容易得多

对于自定义控件,我将.resx文件与源文件放在一起,因为它们通常有自己的文件夹,并且字符串不会在自定义控件之外使用。(注意:这也意味着自定义控件不应在其自己的.resx文件之外使用字符串。)这还允许您在必要时轻松地将整个自定义控件提取到单独的程序集中


对于用户控件,它们通常是特定于应用程序的,因此将公共语言内容绑定到它并不是很糟糕,但我肯定会对特定于用户控件的字符串使用单独的.resx,并遵循与自定义控件相同的文件夹结构。

您应该强烈支持在表单级别使用资源(在设计器中将窗体的Localizable属性设置为True)。设计器对其有很好的支持,并且WinRes.exe实用程序可用于脱机本地化字符串。无需任何代码


本地化项目资源字符串是可能的,但IDE不太支持。请查看我的回答以了解一种方法。

您应该强烈支持在表单级别使用资源(在设计器中将表单的Localizable属性设置为True)。设计器对它有很好的支持,WinRes.exe实用程序可用于脱机本地化字符串。无需代码


本地化项目资源字符串是可能的,但IDE不太支持。请查看我的回答以了解方法。

我不确定我是否理解你的意思。难道不是“资源”吗按定义字符串是否可以放在项目资源中?在WinForms中,WinForm级别也有可用的资源文件。虽然我从未使用过此级别的资源,但我很好奇其他人是否使用过,以及他们的方法是什么。我不确定我是否理解您的意思。“资源”不是吗根据定义,字符串可以放在项目资源中吗?在WinForms中,WinForm级别也有可用的资源文件。虽然我从未使用过此级别的资源,但我很好奇其他人是否使用过,以及他们的方法是什么。我想这种方法正是我开始思考的。过去我刚刚放弃了所有资源都在项目级别,但是common.resx用于共享资源对于应该跨越多个表单的资源是有意义的。好主意!我认为这种方法正是我开始考虑的。过去我刚刚在项目级别转储了所有资源,但是common.resx用于共享资源对于需要的资源是有意义的可以跨越多种形式。好主意!