Tag: C#的

ifdef中的布尔值是:“#ifdef A && B”与“#if defined(A)&& defined(B)”相同吗?

在C ++中,是这样的: #ifdef A && B 一样的: #if defined(A) && defined(B) ? 我想这不是,但我一直没能find与我的编译器(VS2005)的差异。

将System.ComponentModel默认值Attrbute中的DateTime属性的默认值设置为DateTime.Now

是否有人知道如何使用System.ComponentModel DefaultValue属性指定DateTime属性的Default值? 例如我试试这个: [DefaultValue(typeof(DateTime),DateTime.Now.ToString("yyyy-MM-dd"))] public DateTime DateCreated { get; set; } 它期望价值是一个不变的expression。 这是与ASP.NETdynamic数据一起使用的上下文。 我不想支架DateCreated列,但只是提供DateTime.Now,如果它不存在。 我正在使用entity framework作为我的数据层 干杯, 安德鲁

强制和强制有什么区别?

我已经看到这两个术语在各种在线解释中几乎可以互换使用,我所咨询的大多数教科书也不完全清楚这个区别。 是否有解释你们所知道的差异的一种清楚而简单的方法? types转换 (有时也称为types转换 ) 在期望另一个上下文中使用一个types的值。 非转换types转换 (有时称为types双关语 ) 不改变基础位的改变。 强迫 当周围环境需要第二种types时,编译器自动将一种types的值转换为另一种types的值的过程。

为什么不是这个'for'循环有效?

考虑: int ia[3][4]; for (auto row : ia) for (auto col : row) 第一个for通过ia for迭代,其元素是大小为4的数组。 因为row不是引用,所以当编译器初始化row它会将每个数组元素(就像其他数组types的对象一样)转换为指向该数组的第一个元素的指针。 因此,在这个循环中, row的types是int* 。 我不是很确定,我明白这个汽车是如何工作的,但是如果我可以假设它会自动给出一个基于ia数组成员types的行,但是我不明白为什么这种行为不行参考,是无效的。 为什么会发生这种情况? “指向该数组的第一个元素的指针” ,是因为什么?

将dependency injection到ASP.NET MVC 3操作filter中。 这种方法有什么问题?

这是设置。 假设我有一些需要服务实例的动作filter: public interface IMyService { void DoSomething(); } public class MyService : IMyService { public void DoSomething(){} } 然后我有一个ActionFilter需要一个该服务的实例: public class MyActionFilter : ActionFilterAttribute { private IMyService _myService; // <— How do we get this injected public override void OnActionExecuting(ActionExecutingContext filterContext) { _myService.DoSomething(); base.OnActionExecuting(filterContext); } } 在MVC 1/2注入依赖到行动filter是屁股有点痛苦。 最常见的方法是使用自定义操作调用程序,可以在这里看到: http : //www.jeremyskinner.co.uk/2008/11/08/dependency-injection-with-aspnet-mvc-action-filters/这个解决方法背后的主要动机是因为下面的方法被认为是容易和紧密耦合的容器: public class […]

std :: lexical_cast – 有这样的事情吗?

C ++标准库是否定义了这个函数,还是必须求助于Boost? 我search了网页,除了Boost之外找不到任何东西,但我想我最好在这里问一下。

使用MSBuild.exe在发布模式下构buildC#解决scheme

我能够使用MSBuild.exebuild立一个解决scheme,但我的问题是我只能设法让它build立在DEBUG模式。 我需要使用MSBUILD在发布模式下构build我的解决scheme。 这是我试过的 Process msbuild = Process.Start("C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MsBuild.exe", solutionfilepath + " /P:Config=Release"); 和 Process msbuild = Process.Start("C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MsBuild.exe", solutionfilepath + " /P:Configuration=Release");

如何将System.Type转换为可空的版本?

这又是其中一个:“有没有一种更简单的内置方式来做事,而不是我的帮手方法?” 因此,从可空types获取底层types很容易,但是如何获得.NETtypes的可空版本? 所以我有 typeof(int) typeof(DateTime) System.Type t = something; 而且我要 int? DateTime? 要么 Nullable<int> (which is the same) if (t is primitive) then Nullable<T> else just T 有没有内置的方法?

混合Qt和Boost

我正在研究使用Qt 4框架以C ++开始一个项目(需要一个跨平台的GUI)。 我从朋友和网上听说过关于Boost库的很棒的东西。 我已经开始阅读这两本书了,想深入问一个粗略的问题:这两个发展“系统”是相互排斥的吗? 我最初的search和阅读显示在信号处理,自定义构build系统和其他低级原语中有一些重叠。 在同一个项目中使用它们是否合理?

为什么这个多态的C#代码打印它所做的?

最近,我得到了下面这段代码作为帮助理解OOP – C#中的Polymorphism和Inheritance的一种难题。 // No compiling! public class A { public virtual string GetName() { return "A"; } } public class B:A { public override string GetName() { return "B"; } } public class C:B { public new string GetName() { return "C"; } } void Main() { A instance = new C(); Console.WriteLine(instance.GetName()); } […]