我有这个代码:
try {
someMethod();
} catch (XYZException e) {
// do something without using e
}
Run Code Online (Sandbox Code Playgroud)
这样做会给我一个关于声明但从不使用的警告e,这是我讨厌的.但是,我也不想使用catch没有该变量的子句,因为它会捕获所有异常,而不仅仅是XYZExceptions.这似乎是一种经常发生的模式.我知道我可以#pragma warning disable 0168用来抑制警告,但我真的没有找到一个非常优雅的解决方案.有没有更好的办法?
我想在wix项目生成的msi文件的文件名中包含一些动态部分.这个动态部分应该由变量控制,这些变量是我的wix项目的一部分,并且声明如下:
<?define ProductVersion="7.1.0.1" ?>
Run Code Online (Sandbox Code Playgroud)
有没有人知道将wix变量的值发送给链接器以将其用作输出文件名的一部分的方法?
顺便说一下:我正在使用Wix3
我是WPF的新手,并且正在寻找好的快速入门文档.我会从Adam Nathan那里购买WPF Unleashed这本书,但这更像是一个参考,而不是我认为的快速入门.
我只是想让你告诉我你最喜欢的链接和书籍,以及关于wpf开发的演示应用程序.
答案的重点应该是最佳实践,良好的可读性介绍(我讨厌msdn上的链接农场;)和全面的参考.
编辑:我将尝试在按类型排序的短列表中汇总所有建议.并且请尝试简要说明为什么您建议特别链接或该书.
图书:
博客:
链接:
演示应用:
我有一个基类
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代码采用上述两种方法 - 但我得到了运行时错误
请帮忙
我正在尝试在我的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服务应用程序的安装项目,它使用一个.NET组件,它公开了一个COM接口(COM可调用包装器/ CCW).要使组件在目标计算机上运行,必须在其中注册
regasm.exe/tlb/codebase component.dll
在这种情况下,生成类型库的/ tlb开关是必需的,否则我无法从该组件创建对象.
问题是,如何配置我的Visual Studio 2008安装项目以通过调用regasm/tlb来注册此程序集?
我很遗憾地在vb6 ide中工作比我更喜欢.在VS2010中使用C#时,我完全被使用Resharper所破坏.
所以我的问题是:是否有任何工具可以扩展VB6 ide?
我最想念的是导航功能
等等.
我们使用微软的ActiveX/COM(VB6)技术开发了一个软件系统.在过去的一年里,我对自动化构建流程和SCM的整体兴趣越来越大.我仔细搜索了网络的大部分内容,以获取有关如何使用基于COM的软件系统进行scm的最佳实践的信息.
COM的"问题"是,引用组件通过唯一的接口ID保存引用.重新编译引用的组件时,id可能会更改,并且引用不再有效.这里的主要问题是,iid被编译成二进制文件.因此,当我不想将已编译的文件签入版本控制时,每个开发人员都必须编译他/她自己的版本并获取其他ID.
当我想在干净的构建机器上检查源代码来编译系统时,它是不可能的,因为所有引用都是无效的(没有二进制文件,没有接口ID).
我只是想知道,如果有一些最佳实践,如何为COM项目(VB6)设置自动构建系统?
编辑: 是的,我知道兼容性设置.但是采取这种情况,我想在没有任何二进制文件的干净构建机器上构建wohle系统.当您说项目是二进制兼容的时,您必须提供与项目兼容的二进制文件.
我想我必须编写一个自定义构建工具,它在编译项目之前和之后修改项目文件中的引用和兼容性设置.
因为VB6/COM是一种非常广泛的技术,我只是认为必须有一个随时可用的解决方案.
我们通常用二进制兼容性编译.当我们修改组件的公共接口时,我们使用项目兼容性进行编译.但是当您更改许多其他组件使用的基本组件的接口时,您必须手动将所有引用项目更改为项目兼容性,重新编译它们并更改回二进制兼容性.这是我想要自动化的主要过程.
我在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) 在这个变量中,我想在每个'之前添加一些\.
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# ×4
installation ×2
vb6 ×2
.net ×1
ccw ×1
com ×1
ide ×1
inheritance ×1
json ×1
polymorphism ×1
registration ×1
resharper ×1
string ×1
variables ×1
wix ×1
wpf ×1