小编bin*_*all的帖子

C# - StyleCop - SA1121:UseBuiltInTypeAlias - 可读性规则

没有在StyleCop帮助手册中找到它,在SO和Google上,所以这里是;)

在StyleCop使用期间,我有一个警告:

SA1121 - UseBuiltInTypeAlias - 可读性规则

代码使用其中一种基本C#类型,但不使用该类型的内置别名.

不应使用类型名称或完全限定类型名称,应始终使用这些类型的内置别名:bool,byte,char,decimal,double,short,int,long,object,sbyte,float,string ,ushort,uint,ulong.

所以String.Empty是错的(取决于上述规则)并且string.Empty是好的.

为什么使用内置别名更好?可以String. Int32,Int64(等)在特殊情况下的代码中复杂化吗?

c# code-analysis stylecop rules

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

如何在app start上禁用创建空日志文件?

我已成功在我的应用程序中配置了log4net,但有一件事对我来说有点烦人.

即使没有错误发生,我的应用程序启动后也会创建(空)日志文件.我想在出现一些错误后才创建日志文件.

c# log4net winforms log4net-configuration

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

Directory.Delete不起作用.访问被拒绝错误但在Windows资源管理器下它没关系

我搜索了SO但却一无所获.

为什么这不起作用?

Directory.Delete(@"E:\3\{90120000-001A-0000-0000-0000000FF1CE}-C");
Run Code Online (Sandbox Code Playgroud)

上面的行将抛出异常"访问被拒绝".我有管理员权限,我可以用资源管理器删除目录.

它看起来像一些禁止的字符?但Windows资源管理器可以处理它.如何删除名称相似的目录?

c#

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

C#使用关键字嵌套在单行中

通常我做的就是这样(只是一个例子):

using (Stream xmlStream = client.OpenRead(xmlUrl))
{
    using (XmlTextReader xmlReader = new XmlTextReader(xmlStream))
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

不仅仅是做得更好:

using (XmlTextReader xmlReader = new XmlTextReader(client.OpenRead(xmlUrl)))
{
}
Run Code Online (Sandbox Code Playgroud)

但是我不确定在这个简短的语法中是否所有资源都将被处理(流)或只有XmlTextReader?

提前感谢您的回答.

c# using-statement

8
推荐指数
2
解决办法
1387
查看次数

C# - MessageBox - 资源和换行中的消息本地化

我想用来自Resources的字符串显示带有换行符的MessageBox(WinForms).

没有资源的示例(WORKS):

string someMsg = "Message. Details:\n" + someDetails;

MessageBox.Show(someMsg);
Run Code Online (Sandbox Code Playgroud)

结果:

信息.细节:

这里有一些细节

当我将字符串"消息.详细信息:\n"移动到资源中时:

string someMsg = GlobalStrings.MsgBoxJustTest + someDetails;
MessageBox.Show(someMsg);
Run Code Online (Sandbox Code Playgroud)

结果:

信息.细节:\有一些细节

当我用"\n"将字符串移动到资源时,MessageBox.Show()停止将其解释为换行符.

编辑:我在想:someMsg.Replace(@'\n',Environment.NewLine); 但对于如此简单的事情,它仍然很烦人.

c# localization messagebox embedded-resource winforms

8
推荐指数
1
解决办法
5864
查看次数

SGEN XMLSerializer - 应该添加.XMLSerializers.dll作为对当前项目或GAC的引用吗?

我用XMLSerializer类做了一些事情.像大多数初学者一样,我在app start上面临性能问题.我阅读了很多博客,文章,最后使用了SGEN工具.现在性能看起来还不错,但对我来说仍然很少有事情要做.

1)我应该像这样使用SGEN语法:

SGen.exe /assembly:MyAssembly /type:MyRootXmlType
Run Code Online (Sandbox Code Playgroud)

或者它就足够了(我目前使用这种语法,我的程序集中只有一个Serializable类):

SGen.exe /assembly:MyAssembly
Run Code Online (Sandbox Code Playgroud)

什么时候/ type参数在实践中有用?

2)我在MSDN上阅读(http://msdn.microsoft.com/en-us/library/ee704594.aspx)

此命令生成序列化程序集MyAssembly.XmlSerializers.dll,应将其添加为对当前项目或GAC的引用.

但是在所有其他博客和文章上(例如在SO上)我读到这就足以将MyAssembly.XmlSerializers.dll放入MyAssembly存在的文件夹中.

什么是对的?

3)只需生成.XmlSerilizers.dll并将其与MyAssembly一起部署就足够了,还是应该在我的代码中添加一些东西?

我不这么认为,但我想确保我不必更改我的代码并且"魔法"会自动发生.

c# sgen xml-serialization

7
推荐指数
1
解决办法
5274
查看次数

如何以编程方式禁用网络摄像头二极管

在我的笔记本电脑(戴尔)中,使用网络摄像头时会发出强烈的蓝色二极管光,这让我很恼火。

我正在考虑禁用它。你知道有什么库或方法可以关闭这个二极管灯吗?

c# c++ programming-languages winforms-interop

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