我希望能够以编程方式修改应用程序的语言,或者至少使用控制面板中指定的语言 - >区域和语言选项 - >格式.
如果我添加一个英语字符串表,制作一个法语和德语副本,并删除英语字符串,我可以编程方式在加载法语和德语字符串之间切换.如果我保留英文副本,无论如何,当我尝试加载德语或法语时,英语字符串都会被加载.
我认为这是一个资源加载器错误,如果资源加载器找到与windows ui语言相同语言的字符串表(例如,Windows资源管理器菜单的语言),则忽略SetThreadLocale.
我尝试将控制面板 - >区域和语言选项 - >格式更改为法语,但这没有任何效果.资源编辑器显示没有附加语言的法语字符串表,但我的程序仍然总是加载英语字符串.将此更改复制到系统帐户也不起作用.
这是我试过的代码:
#include "stdafx.h"
#include <iostream>
#include "windows.h" // this should go to stdafx.h
#include "resource.h" // this should not go to stdafx.h
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
// 1036 = french, 1031 = german
SetThreadLocale(MAKELCID(1036, SORT_DEFAULT));
const int maxSize = 100;
wchar_t c[maxSize];
LoadString(GetModuleHandle(NULL), IDS_STRING101, c, maxSize);
std::cout << c;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是一个错误的,不完整的解释(在方法2的后半部分).在那里提出的第二种解决方法,只使用相对于中性的字符串表是没用的,因为我有单独的葡萄牙语 - 葡萄牙语和葡萄牙语 - 巴西字符串表.
提出的第一个解决方法不起作用.使用下面的代码,我得到错误1814.
HRSRC r = …Run Code Online (Sandbox Code Playgroud) 使用Ruby,我如何使用单个正则表达式来匹配"xy y ay xy + y"中出现的前缀为x(y,ay,+ y)的所有'y'?
/ [^ x] y /匹配前面的字符,所以我需要一个替代...
我正在创建一个Distinct扩展方法,我可以传递如下标准.
persons.Distinct(p => p.Name);
Run Code Online (Sandbox Code Playgroud)
我从网上获得了代码,但我很难理解其目的Func<T, TResult>.此外,当我说p => p.Name我发送String Name或我发送完整的Person对象?这是新的Distinct方法:
public static class ExtensionMethods
{
public static IEnumerable<T> Distinct<T>(
this IEnumerable<T> list, Func<T,object> checker)
{
return list.Distinct(new GenericComparer<T>(checker));
}
}
public class GenericComparer<T> : IEqualityComparer<T>
{
private Func<T, object> _checker;
public GenericComparer(Func<T,object> checker)
{
_checker = checker;
}
public bool Equals(T x, T y)
{
return _checker(x).Equals(_checker(y));
}
public int GetHashCode(T obj)
{
return _checker(obj).GetHashCode();
}
}
Run Code Online (Sandbox Code Playgroud)
以下是用法:
static void Main(string[] args)
{ …Run Code Online (Sandbox Code Playgroud) 我正在VS 2008(带SP1)中开发一个网站(Web表单,而不是MVC).我正在尝试合并ASP.NET Routing.我正在按照MSDN教程来完成它. http://msdn.microsoft.com/en-us/library/cc668201.aspx 我已根据教程将以下项目添加到我的glbal.asax.cs文件中
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add(new Route
(
"Category/{action}/{categoryName}"
, new CategoryRouteHandler()
));
}
Run Code Online (Sandbox Code Playgroud)
在尝试构建时,它告诉"无法找到类型或命名空间名称'RouteCollection'(您是否缺少using指令或程序集引用?)
我将System.web导入到我的global.asax文件中
任何想法如何摆脱它?
我喜欢在VS中使用SQL工具,但我希望有一些SQL的智能感知,使用sql manager我可以获得Redgate SQL提示,但我想留在VS,任何想法?
编辑:Redgate SQL提示还有其他什么吗?那种剂量错误检查就像R#或dev表达的方式一样?
如果我在用C++编写的程序中需要一个大缓冲区,哪一个更好?
在堆中分配缓冲区,并在使用它的类中保留对该缓冲区的引用.
分配静态缓冲区,并使其成为全局缓冲区.
我有以下代码,但我得到一个异常,即没有定义smtp主机.如果我正在运行此操作并在visual studio中对我的本地计算机进行测试,那么我需要做些什么才能从我的计算机发送电子邮件.我必须打开一些Windows服务吗?
private void SendMailToAdminToApprove(string email_, string name_)
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("address@domain.com", "Person's Name");
msg.To.Add(new MailAddress("a@gmail.com", "Adam"));
msg.Subject = "Message Subject";
msg.Body = "Mail body content";
msg.IsBodyHtml = true;
msg.Priority = MailPriority.High;
try
{
SmtpClient c = new SmtpClient();
c.Send(msg);
}
catch (Exception ex)
{
Console.Write("T");
}
}
Run Code Online (Sandbox Code Playgroud) 今天早上,在尝试使用Web应用程序诊断性能问题时,我和我的老板对此进行了长时间的讨论.我们并没有真正得出任何结论.
我认为我们认为Serializable非静态内部类有问题是正确的,但我们不确定究竟是什么问题或者究竟要避免什么(我们推断我们不能总是简单地避免它).任何人都可以建议任何没有遇到这个问题的指导方针吗?
c# ×3
c++ ×2
asp.net ×1
compilation ×1
conditional ×1
email ×1
intellisense ×1
java ×1
lambda ×1
linq ×1
localization ×1
memory ×1
performance ×1
plugins ×1
regex ×1
routing ×1
ruby ×1
smtp ×1
sql ×1
sql-server ×1
string ×1
visual-c++ ×1
windows ×1
xaml ×1