“运行时检查失败#0 – 从C ++代码成功进行C#回调后,ESP的值未在函数调用中正确保存”

我正在制作一个使用GameSpy C代码的C#应用​​程序(GP部分)。 C代码成功地调用了一个回调(它是C#代码),但是我得到了这个错误Run-Time Check Failure #0 – The value of ESP was not properly saved across a function call在回调完成后Run-Time Check Failure #0 – The value of ESP was not properly saved across a function call 。 我用C代码制作了一个DLL,如下所示: // GPCallback ///////////// __declspec(dllexport) typedef void (* GPCallback)( GPConnection * connection, void * arg, void * param ); […]

使用JSON.NET为对象序列化动态属性名称

我正在使用JSON.NET来序列化我的对象以连接到REST API。 我的对象中需要序列化为JSON的属性之一具有动态属性名称。 如果此属性的struct中包含的值是数值,则JSON属性为“type_id”,但如果此值为字符串值,则JSON属性名称为“type_code”。 我尝试使用自定义JsonConverter ,但是当我尝试序列化时,我收到带有此消息的JsonWriterException : “状态属性中的Token PropertyName将导致无效的JSON对象。路径”。” 下面是我的对象的子集,如下所示我没有在我的对象中指定属性名称,因为: [JsonProperty(“title”,Required=Required.Always,Order=1)] public string Title { get; set; } [JsonProperty(“date”,Order=3)] [JsonConverter(typeof(IsoDateTimeConverter))] public DateTime Date { get; set; } [JsonProperty(Order=2)] [JsonConverter(typeof(TypeIdentifierJsonConverter))] public TypeIdentifier DocTypeIdentifier { get; set; } 在TypeIdentifier类中,我在WriteJson()方法中有以下内容: public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { TypeIdentifier docTypeId; id= (TypeIdentifier) value; writer.WritePropertyName(id.ParameterName); writer.WriteValue(id.Value); } […]

无法将类型字符串隐式转换为int

Console.WriteLine (“Please enter some numbers”); int sum = 0; for(;;) { string input = Console.ReadLine (); if (string.IsNullOrEmpty (input)) { break; } int inputParsed = int.Parse (input.ToString ()); int sumParsed = int.Parse (sum.ToString ()); sum = sum + input; // throws an error here Console.WriteLine (sum); 我希望我的程序显示用户输入的所有数字的总和,即使我已经解析了所需的所有变量,它也会抛出“无法隐式转换类型’字符串’到’int’”错误。 怎么了?

如何在视图中切换视图?

我正在制作一个使用MVVM光框架的WPF应用程序。 我要做的是在视图中有一个登录表单,当用户按下该视图中的按钮时,它会为附加的ViewModel启动LoginCommand。 从那里我想要启动一个新窗口来保存应用程序的其余部分,或者只是从同一个窗口切换视图。 目前我有它,所以有一个名为MainView的视图,其内部控件内部绑定到View1。 但是,要切换到View2,我需要在MainView上放置此按钮,而不是在它所属的View1中。 任何建议?

没有System.Web依赖的HttpUtility.ParseQueryString的替代?

我希望能够通过将键和值添加到某个帮助程序类来构建URL查询字符串,并将其作为URL查询返回。 我知道这可以做到,就像这样: var queryBuilder= HttpUtility.ParseQueryString(“http://baseurl.com/?”); queryBuilder.Add(“Key”, “Value”); string url = queryBuilder.ToString(); 这正是我追求的行为。 但是,这个类存在于着名的大型System.Web ,我宁愿不为此引入整个库。 某处有替代品吗?

不允许使用用于访问路径的HTTP谓词POST

我没有使用URL重写,我的应用程序正常工作,直到我尝试通过我已动态生成到LinkBut​​ton的PostBackUrl的链接命中.PDF文件甚至.TXT文件。 路径是正确的。 我已经在这里彻底研究了这个问题,大多数问题都是人们使用或不使用POST操作或URL重写,我不是。 在IIS错误看起来像: Server Error in Application “DEFAULT WEB SITE/EVENTS”Internet Information Services 7.5 Error Summary HTTP Error 405.0 – Method Not Allowed The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used. Detailed Error Information Module StaticFileModule Notification ExecuteRequestHandler Handler StaticFile Error Code 0x80070001 Requested URL […]

为什么在using语句中声明的变量被视为readonly?

为什么using变量作为只读处理? 它是c#语言规范还是托管语言规范? 这是因为c#是.net语言? 提前致谢。 注意 :using变量是在using语句中出现的变量 示例代码: using (Form s = new Form) { myfunc(ref s); } 我们不能在使用块中更改using变量的值。 代码会引发错误。 注意 :我不想让你讨论readonly关键字。

为什么Thread.Sleep()以这种方式运行?

这是我编写的一个简单代码: private void button1_Click(object sender, EventArgs e) { label1.Text = “first”; Thread.Sleep(1000); label1.Text = “second”; } 但标签从不显示“第一”。 我使用断点检查并且语句label1.text =“first”被执行但是在标签中没有显示“first”,只显示“second”。 为什么会这样?

AutoMockContainer,支持具有非接口依赖性的自动锁定类

我有一个具有非接口依赖的构造函数: public MainWindowViewModel(IWorkItemProvider workItemProvider, WeekNavigatorViewModel weekNavigator) 我正在使用Moq.Contrib automockcontainer。 如果我尝试自动锁定MainWindowViewModel类,由于WeekNavigatorViewModel依赖项,我收到错误。 是否有任何automocking容器支持非接口类型的模拟? 正如马克在下面所示; 是的你可以! :-)我将Moq.Contrib AutoMockContainer替换为Mark在他的答案中提出的东西,唯一的区别是自动生成的模拟被注册为单例,但你可以使这个可配置。 这是最终的解决方案: /// /// Auto-mocking factory that can create an instance of the /// class under test and automatically inject mocks for all its dependencies. /// /// /// Mocks interface and class dependencies /// public class AutoMockContainer { readonly IContainer _container; public […]

GridView排序问题

我有一个现有的gridview,我需要在工作中修复/改进。 基本上GridView有标题,它们被后面代码中的数据集绑定,它使用BoundFields和TemplateFields。 问题是我需要让每个列都可以排序。 这样做的最佳方法是什么,因为它不是标准的gridview?,我需要制作标题链接,然后单击以DESC或ASC顺序排序。 这是我需要处理的gridview的一个例子。 <a href='https://stackoverflow.com/questions/6602015/gridview-sorting-question/sometest.aspx?ID=’> …等,对BoundFields和TemplateFields进行排序的最佳方法是什么?