草庐IT

多语言切换

全部标签

c# - 用与代码不同的语言编写单元测试的缺点是什么?

单元测试与生产代码有不同的要求。例如,单元测试可能不必像生产代码那样高效。也许有时用更适合编写单元测试的语言编写单元测试是有意义的?我想到的具体示例是使用C#编写应用程序,但使用IronRuby或IronPython编写测试。在我看来,使用IronPython和IronRuby作为测试语言比C#代码有几个优势:模拟在动态类型语言中可以更简单IronPython具有较少的单元测试不需要的冗长类型注释通过在解释器中键入命令,无需重新编译即可实验调用测试使用两种不同的语言进行测试和生产代码的权衡是什么? 最佳答案 我想到的缺点:根据语言的

c# - 如何在 Winforms 中制作多语言应用程序?

我有一个应用程序,我需要在该应用程序中使用两种语言。例如:英语阿拉伯语但我不知道我该怎么做。任何人都可以帮助我吗?我需要一些C#WindowsForms中的示例。 最佳答案 使用表单的Localizable和Language属性Form类有Localizable和Language属性。如果将Localizable属性设置为true,则可以将控件添加到默认语言的表单并设置默认语言的属性。然后您可以选择其他语言并更改这些语言的属性。这样,值或可本地化的属性将针对不同的文化存储在单独的资源文件中。注意:如果属性用[Localizable(

c# - 在 C# 中使用 RAII 安全吗?和其他垃圾收集语言?

我正在制作一个接受System.Windows.Form控件并设置其光标的RAII类。并在析构函数中将光标设置回原来的样子。但这是个坏主意吗?当此类的对象超出范围时,我可以安全地相信析构函数将被调用吗? 最佳答案 这是一个非常非常糟糕的主意。当变量超出范围时,不会调用终结器。它们在对象被垃圾回收之前的某个时刻被调用,这可能是很长一段时间之后。相反,您想要实现IDisposable,然后调用者可以使用:using(YourClassyc=newYourClass()){//Useycinhere}这将自动调用Dispose。在C#中很

c# - 学习什么是一种很好的编程语言来拓宽 C# 开发人员的思维?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter为指导。9年前关闭。我在看ThePragmaticProgrammer昨晚,它建议你在职业生涯中学习一整套语言——即使你永远不会使用它们。我一直认为这是个好主意,但这本书给了我足够的动力去认真思考它。它还提到(大意是这样)“学习面向对象的设计,你会以不同的方式编写纯C程序”。我可以去(重新)学习Java,但它似乎是一个简单的选择,因为它是一种与C#遵循许多相同原则的语言。我可能

c# - 如何在多语言 Web 应用程序中转换和存储可配置项?

我有一个多语言网络应用程序。我正在转换所有控件,即标签、下拉菜单、文本和消息使用资源文件。问题:例如,注册页面有下拉前缀-先生、夫人、小姐等。此前缀数据来自表格并且是可配置的,即我们有一个相同的配置网页。还有很多其他可配置的东西和相应的页面。我的问题是如何将这些数据转换成其他语言以及如何保存,因为资源文件无法做到这一点。任何有实际想法的人都可以指导我。 最佳答案 如果是用户可配置的,那么使用资源文件是不切实际的,因为用户可以根据需要进行配置。因此,如果我理解正确的话,我认为唯一实用的解决方案是在表格中为用户输入的每个值进行翻译。由于

c# - 从 'Copy always' 切换到 'Copy if newer' 的风险

为了避免重建尚未触及的库,我将某些文件的复制到输出目录从总是复制更改为如果更新则复制在一些c#项目中。设置更改的文件将其构建操作设置为内容、嵌入式资源或资源.这会带来哪些风险? 最佳答案 除了这可能已经过时(例如由于资源被嵌入)之外,我现在能想到的唯一风险是您可以使用过时的文件以防某些程序更改某些内容而不更新文件的时间戳(或修改这个时间戳)。例如,您可能会对文件进行一些本地更改,然后使用某种文件版本控制系统(如SVN或HG)恢复其内容。VisualStudio可能不会注意到还原的文件,也可能不会复制它。

c# - 在 System.Linq.Expressions 中不带大小写(但使用默认值)切换

我尝试使用System.Linq.Expressions创建一个switch表达式:varvalue=Expression.Parameter(typeof(int));vardefaultBody=Expression.Constant(0);varcases1=new[]{Expression.SwitchCase(Expression.Constant(1),Expression.Constant(1)),};varcases2=newSwitchCase[0];varswitch1=Expression.Switch(value,defaultBody,cases1);vars

c# - 关于 C# 语言规范中隐式转换的问题

第6.1节隐式转换如此定义身份转换:Anidentityconversionconvertsfromanytypetothesametype.Thisconversionexistssuchthatanentitythatalreadyhasarequiredtypecanbesaidtobeconvertibletothattype.现在,这些句子的目的是什么?(In§6.1.6Implicitreferenceconversions)Theimplicitreferenceconversionsare:[...]Fromanyreference-typetoareference-t

c# - 在 Visual Studio 中通过中间语言 (IL) 和 C# 同时进行调试

我正在寻找VisualStudio的扩展,在Debug模式下可以单步执行除C#之外的中间语言。我不是在寻找调试托管和非托管代码的解决方案。 最佳答案 你的目的是什么?您的IL是由C#编译器生成的还是在运行时动态生成的?如果是前者,您可以使用一个技巧,通过ilasm重新编译您的二进制文件。像往常一样编译C#代码。优化与否无关紧要,但您必须指定编译选项以生成完整的PDB符号。使用ildasm将您的二进制文件转换为.il文件。它是菜单中的转储选项。重新编译.il文件以获得新的二进制文件(和新的符号)ilasm.il[/exe|/dll]/

c# - Windows 8 中的自然语言处理

我是Windows8编程、C#和NLP的新手。我正在寻找一个允许我在Windows8中使用NLP的库。我找到了SharpNLP,但它的文档非常少,没有教程。我也遇到过Antelope框架,但这似乎有更糟糕的文档。是否有任何资源可以帮助我(教程或文档更好的框架)? 最佳答案 SharpNLP看起来不错。这是OpenNLP的端口,因此您可能只需要阅读OpenNLP的文档即可。还有Lucene.Net(Lucene的.Net版本)它是一个搜索引擎,(我猜)应该在里面有一些NLP。不过我不完全确定。