小编Jan*_*Jan的帖子

在C#中禁止对未使用的异常变量发出警告

我有这个代码:

try {
    someMethod();
} catch (XYZException e) {
    // do something without using e
}
Run Code Online (Sandbox Code Playgroud)

这样做会给我一个关于声明但从不使用的警告e,这是我讨厌的.但是,我也不想使用catch没有该变量的子句,因为它会捕获所有异常,而不仅仅是XYZExceptions.这似乎是一种经常发生的模式.我知道我可以#pragma warning disable 0168用来抑制警告,但我真的没有找到一个非常优雅的解决方案.有没有更好的办法?

c# exception-handling visual-studio-2008

47
推荐指数
3
解决办法
1万
查看次数

WIX:如何动态设置msi输出文件的名称

我想在wix项目生成的msi文件的文件名中包含一些动态部分.这个动态部分应该由变量控制,这些变量是我的wix项目的一部分,并且声明如下:

<?define ProductVersion="7.1.0.1" ?>
Run Code Online (Sandbox Code Playgroud)

有没有人知道将wix变量的值发送给链接器以将其用作输出文件名的一部分的方法?

顺便说一下:我正在使用Wix3

variables installation windows-installer wix

26
推荐指数
5
解决办法
2万
查看次数

WPF快速入门文档

我是WPF的新手,并且正在寻找好的快速入门文档.我会从Adam Nathan那里购买WPF Unleashed这本书,但这更像是一个参考,而不是我认为的快速入门.
我只是想让你告诉我你最喜欢的链接和书籍,以及关于wpf开发的演示应用程序.

答案的重点应该是最佳实践,良好的可读性介绍(我讨厌msdn上的链接农场;)和全面的参考.

编辑:我将尝试在按类型排序的短列表中汇总所有建议.并且请尝试简要说明为什么您建议特别链接或该书.

图书:

博客:

链接:

演示应用:

documentation wpf

18
推荐指数
1
解决办法
7052
查看次数

C#继承.来自Base类的派生类

我有一个基类

public class A   
{
    public string s1;
    public string s2;
}
Run Code Online (Sandbox Code Playgroud)

我也有一个派生类:

public class B : A
{
    public string s3;
}
Run Code Online (Sandbox Code Playgroud)

假设我的程序创建了A类的实例.

A aClassInstance = new A();
Run Code Online (Sandbox Code Playgroud)

设置了一些参数:

aClassInstance.s1 = "string 1";
aClassInstance.s2 = "string 2";
Run Code Online (Sandbox Code Playgroud)

此时我想创建一个B类实例.但我希望B已经拥有了我的A类实例的值.

这不行:

public B bClassInstance = new B():
bClassInstance = (B)aClassInstance;
Run Code Online (Sandbox Code Playgroud)

没有这个:

在A类中制作克隆方法

public B cloneA() {    
    A a = new A();
    a = (A)this.MemberwiseClone()
    return(B)a;
}
Run Code Online (Sandbox Code Playgroud)

VS代码采用上述两种方法 - 但我得到了运行时错误

请帮忙

c# polymorphism inheritance

16
推荐指数
2
解决办法
2万
查看次数

在C#中下载JSON字符串

我正在尝试在我的Windows应用商店应用中下载一个JSON字符串,它应如下所示:

{
 "status": "okay",
 "result": {"id":"1",
            "type":"monument",
            "description":"The Spire",
            "latitude":"53.34978",
            "longitude":"-6.260316",
            "private": "{\"tag\":\"david\"}"}
}
Run Code Online (Sandbox Code Playgroud)

但我得到的是关于服务器的信息.我得到的输出如下:

Response: StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  MS-Author-Via: DAV
  Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive
  Date: Thu, 22 Nov 2012 15:13:53 GMT
  Server: Apache/2.2.22
  Server: (Unix)
  Server: DAV/2
  Server: PHP/5.3.15
  Server: with
  Server: Suhosin-Patch
  Server: mod_ssl/2.2.22
  Server: OpenSSL/0.9.8r
  X-Powered-By: PHP/5.3.15
  Content-Length: 159
  Content-Type: text/json
}
Run Code Online (Sandbox Code Playgroud)

我一直在环顾四周,看到WebClient在Windows 8之前使用过,现在已被HttpClient取代.因此,我一直在使用Content.ReadAsString()而不是使用DownloadString().这是我到目前为止的一些代码:

public async Task<string> GetjsonStream()
{
    HttpClient client = new HttpClient();
    string url = "http://(urlHere)";
    HttpResponseMessage …
Run Code Online (Sandbox Code Playgroud)

.net c# string json

9
推荐指数
1
解决办法
1万
查看次数

如何使用Visual Studio 2008安装项目中的regasm注册.NET CCW

我有一个.NET服务应用程序的安装项目,它使用一个.NET组件,它公开了一个COM接口(COM可调用包装器/ CCW).要使组件在目标计算机上运行,​​必须在其中注册

regasm.exe/tlb/codebase component.dll

在这种情况下,生成类型库的/ tlb开关是必需的,否则我无法从该组件创建对象.

问题是,如何配置我的Visual Studio 2008安装项目以通过调用regasm/tlb来注册此程序集?

installation registration ccw visual-studio-2008

6
推荐指数
1
解决办法
1万
查看次数

是否有像Resbasper for Visual Basic 6 IDE的工具

我很遗憾地在vb6 ide中工作比我更喜欢.在VS2010中使用C#时,我完全被使用Resharper所破坏.

所以我的问题是:是否有任何工具可以扩展VB6 ide?

我最想念的是导航功能

  • 查找用法
  • 转到类型
  • 转到文件

等等.

ide vb6 resharper

6
推荐指数
1
解决办法
1406
查看次数

ActiveX/COM/VB6企业项目的构建过程

我们使用微软的ActiveX/COM(VB6)技术开发了一个软件系统.在过去的一年里,我对自动化构建流程和SCM的整体兴趣越来越大.我仔细搜索了网络的大部分内容,以获取有关如何使用基于COM的软件系统进行scm的最佳实践的信息.

COM的"问题"是,引用组件通过唯一的接口ID保存引用.重新编译引用的组件时,id可能会更改,并且引用不再有效.这里的主要问题是,iid被编译成二进制文件.因此,当我不想将已编译的文件签入版本控制时,每个开发人员都必须编译他/她自己的版本并获取其他ID.

当我想在干净的构建机器上检查源代码来编译系统时,它是不可能的,因为所有引用都是无效的(没有二进制文件,没有接口ID).

我只是想知道,如果有一些最佳实践,如何为COM项目(VB6)设置自动构建系统?

编辑: 是的,我知道兼容性设置.但是采取这种情况,我想在没有任何二进制文件的干净构建机器上构建wohle系统.当您说项目是二进制兼容的时,您必须提供与项目兼容的二进制文件.

我想我必须编写一个自定义构建工具,它在编译项目之前和之后修改项目文件中的引用和兼容性设置.

因为VB6/COM是一种非常广泛的技术,我只是认为必须有一个随时可用的解决方案.

我们通常用二进制兼容性编译.当我们修改组件的公共接口时,我们使用项目兼容性进行编译.但是当您更改许多其他组件使用的基本组件的接口时,您必须手动将所有引用项目更改为项目兼容性,重新编译它们并更改回二进制兼容性.这是我想要自动化的主要过程.

vb6 com version-control build-automation build-process

5
推荐指数
2
解决办法
3294
查看次数

如何将ObjectResult <T>转换为IQueryable <T>?

我在asp.net mvc 3.0应用程序中使用实体框架.我正在使用表值函数在我的一个数据库表上进行全文搜索.我已将返回类型设置为Request类型的对象.然后,我将结果提供给表达式构建器,该构建器对用户有权访问的实体列表中的"请求"执行包含操作.这是代码.

List<int> UserEntities = db.UserEntities
                              .Where(x => x.UserID.Equals(usr.ID))
                              .Select(x => x.EntityID).ToList();

var requests = db.SearchRequest(keyword)
    .Where(BuildContainsExpression<Request, int>(x => x.EntityID, UserEntities));

//Expression Builder for Contains SQL functionality
static Expression<Func<TElement, bool>> BuildContainsExpression<TElement, TValue>(
     Expression<Func<TElement, TValue>> valueSelector, IEnumerable<TValue> values)
{
    if (null == valueSelector) { throw new ArgumentNullException("valueSelector"); }
    if (null == values) { throw new ArgumentNullException("values"); }
    ParameterExpression p = valueSelector.Parameters.Single();
    // p => valueSelector(p) == values[0] || valueSelector(p) == ...
    if (!values.Any())
    {
        return e => false;
    }
    var …
Run Code Online (Sandbox Code Playgroud)

linq-to-entities ado.net-entity-data-model asp.net-mvc-3

5
推荐指数
1
解决办法
5522
查看次数

在C#中替换'with \'

在这个变量中,我想在每个'之前添加一些\.

string html = 
    "<a href=\"annee-prochaine.html\">Calendrier de l'annee prochaine</a>"

html = html.Replace("'", "\'"); //No change
html = html.Replace("\'", "\'"); //No change

html = html.Replace("\'", "\\'");
//html => <a href=\"annee-prochaine.html\">Calendrier de l\\'annee prochaine</a>
html = html.Replace("\'", @"\'");
//html => <a href=\"annee-prochaine.html\">Calendrier de l\\'annee prochaine</a>
Run Code Online (Sandbox Code Playgroud)

我希望在替换之后得到它:

//html => <a href=\"annee-prochaine.html\">Calendrier de l\'annee prochaine</a>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

谢谢!

c#

5
推荐指数
2
解决办法
179
查看次数