Tag: C#的

XAML是否具有debugging模式的条件编译器指令?

我需要这样的样式在XAML中的样式: <Application.Resources> #if DEBUG <Style TargetType="{x:Type ToolTip}"> <Setter Property="FontFamily" Value="Arial"/> <Setter Property="FlowDirection" Value="LeftToRight"/> </Style> #else <Style TargetType="{x:Type ToolTip}"> <Setter Property="FontFamily" Value="Tahoma"/> <Setter Property="FlowDirection" Value="RightToLeft"/> </Style> #endif </Application.Resources>

什么是C / C ++中最好的encryption库?

什么是C / C ++中最好的encryption库在以下方面: 熵 质量 使用方便 可读性 可移植性 性能 你最喜欢什么,你为什么喜欢它?

MVCBuildViews不能正常工作

所以我编辑我的csproj文件在MVC 3 RTM应用程序设置以下属性: <MvcBuildViews>true</MvcBuildViews> 这应该会导致我的观点在编译期间得到遵守,如果我的观点被破坏,则强制执行构build错误。 这是我做的唯一的改变,但是,当我尝试构build应用程序时,出现以下错误: 在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的。 此错误可能是由于虚拟目录未被configuration为IIS中的应用程序。 如果我更改为false,项目编译并成功运行, 以下是在csproj文件中configuration的构build任务(这些都不是手动编辑的,它们是由Visual Studio 2010添加的) <Target Name="BeforeBuild"> </Target> <Target Name="AfterBuild"> </Target> –> <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> </Target> 我在这里错过了什么? 我如何得到MVC 3 / Visual Studio 2010configuration正确,以validation我的意见,在编译时?

为什么我应该使用int而不是一个字节或C#中的短

关于这个问题,我find了几条线索。 大多数人似乎赞成在他们的c#代码中使用int,即使一个字节或smallint会处理数据,除非它是一个移动应用程序。 我不明白为什么。 将C#数据types定义为数据存储解决scheme中的相同数据types是否更有意义? 我的前提:如果我正在使用types化的数据集,Linq2SQL类,POCO,这种或那种方式,我会遇到编译器数据types转换问题,如果我不保持我的数据types跨我的层同步。 我真的不喜欢做System.Convert,因为在c#代码中使用int更容易。 我总是使用任何最小的数据types来处理数据库中的数据以及代码,以保持我的数据库接口干净。 所以,我敢打赌,我的C#代码中的75%是使用字节或短而不是int,因为这是数据库中的内容。 可能性:这是否意味着大多数在代码中使用int的大多数人也使用int数据types作为它们的sql存储数据types,并且可能不关心数据库的整体大小,还是在代码中执行system.convert? 为什么我在乎:我一直在自己的工作,我只是想熟悉最佳实践和标准的编码惯例。

线程安全的C#单例模式

我有关于单例模式的一些问题在这里logging: http : //msdn.microsoft.com/en-us/library/ff650316.aspx 以下代码是文章的摘录: using System; public sealed class Singleton { private static volatile Singleton instance; private static object syncRoot = new Object(); private Singleton() {} public static Singleton Instance { get { if (instance == null) { lock (syncRoot) { if (instance == null) instance = new Singleton(); } } return instance; } […]

如何在C#中进行模板专业化

你将如何在C#专业化? 我会提出一个问题。 你有一个模板types,你不知道它是什么。 但是你知道它是否从XYZ派生出来,你想调用.alternativeFunc()。 一个好方法是调用一个特定的函数或类,并且在任何派生types的XYZ上调用.alternativeFunc()时,调用normalCall return .normalFunc()。 这将如何在C#中完成?

从IEnumerable <T>获得typesT.

有没有办法通过reflection从IEnumerable<T>检索typesT ? 例如 我有一个variablesIEnumerable<Child>信息; 我想通过reflection来检索孩子的types

“打开/closures”SqlConnection或保持打开?

我用静态方法在简单的静态类中实现了我的业务逻辑。 每种方法在调用时打开/closuresSQL连接: public static void AddSomething(string something) { using (SqlConnection connection = new SqlConnection("…")) { connection.Open(); // … connection.Close(); } } 但我认为避免打开和closures连接可以节省性能 。 我之前用OleDbConnection类做了一些testing(不确定关于SqlConnection),而且它确实有助于像这样工作(据我所知): //pass the connection object into the method public static void AddSomething(string something, SqlConnection connection) { bool openConn = (connection.State == ConnectionState.Open); if (!openConn) { connection.Open(); } // …. if (openConn) { […]

在closures警告中访问foreachvariables

我收到以下警告: 在闭包中访问foreachvariables。 使用不同版本的编译器编译时可能会有不同的行为。 这是在我的编辑器中看起来像: 我知道如何解决这个警告,但我想知道为什么我会得到这个警告? 这是关于“CLR”版本吗? 它与“IL”有关吗?

在Visual Studio 2013中创build一个应用程序设置

我已经有一个准备build立的项目。 目前,我正在使用Visual Studio 2013。 但是,我不知道如何在Visual Studio 2013中创build一个MSI设置,但是对于Visual Studio 2010,有很多教程讨论如何在Visual Studio 2010中创build一个设置。 这是否意味着我需要安装Visual Studio 2010才能为我的项目创build应用程序设置? 什么是在Visual Studio 2013中创build应用程序设置最简单的方法?