Tag: C#的

.NET中的对象引用有多大?

.NET中对象引用的大小是多less? 它在x86,x64和/或AnyCPU编译之间有所不同吗? 如果它有所作为,我个人对C#感兴趣。

序列化字典时保持封套

我有一个Web Api项目configuration像这样: config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); 不过,我想让字典的键盘保持不变。 在Newtonsoft.Json有没有任何属性,我可以用一个类来表示,我想套pipe在序列化过程中保持不变? public class SomeViewModel { public Dictionary<string, string> Data { get; set; } }

我在哪里可以findSystem.Web.Helpers,System.Web.WebPages和System.Web.Razor?

我正在关于RazorGenerator的这篇文章 ,它说,我必须添加引用: System.Web.Helpers.dll System.Web.WebPages.dll System.Web.Razor.dll 唯一一个我可以看到,当我做Add Reference是System.Web.Razor ,但我不知道其他人在哪里。

Razor Views没有看到System.Web.Mvc.HtmlHelper

我正在升级到MVC4的过程中。 我遵循在http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806的指示,但在我的剃刀视图和布局,我有错误 'System.Web.WebPages.Html.HtmlHelper'没有包含“BeginRouteForm”的定义,也没有find接受'System.Web.WebPages.Html.HtmlHelper'types的第一个参数的扩展方法'BeginRouteForm'(你缺less使用指令或程序集引用?) 我也有像这样的错误: “当前上下文中不存在名称”Viewbag“ 当我hover在@Html上,我可以看到它是System.Web.WebPages.Html.HtmlHelper而不是System.Web.Mvc.HtmlHelper 不确定其他信息是相关的,但这是我的位置: 我还没有更新类图书馆等等。 该项目是在VS2010中创build的,但是我正在VS2012中进行迁移 该项目打开并运行正常与VS2012,。NET 4.0,MVC 3 任何指针赞赏。 编辑: web.config中的所有参考和文件已升级到: System.Web.Mvc,版本= 4.0.0.0 System.Web.WebPages,版本= 2.0.0.0 System.Web.Helpers,版本= 2.0.0.0 System.Web.WebPages.Razor,版本= 2.0.0.0 编辑(2):在我的/views/web.config(或/views/shared/web.config,如果我尝试下面的@Paul的解决scheme),我有我自己的基本types,从System.Webinheritance。 Mvc.WebViewPage,在包含库中的引用已经更新到MVC4,并进入定义带我到MVC4 DLL。 新版本在这方面有什么变化吗? 我在发行说明中看不到任何相关内容。

我怎样才能通过reflection来获得一个types的所有常量?

我如何使用reflection获取任何types的所有常量?

C ++算术升级头的使用

我一直在玩弄一套模板来确定在C ++中给出两种基本types的正确提升types。 这个想法是,如果你定义一个自定义的数字模板,你可以使用这些来确定基于传递给模板的类的运算符+函数的返回types。 例如: // Custom numeric class template <class T> struct Complex { Complex(T real, T imag) : r(real), i(imag) {} T r, i; // Other implementation stuff }; // Generic arithmetic promotion template template <class T, class U> struct ArithmeticPromotion { typedef typename X type; // I realize this is incorrect, but the […]

显示将Html转换为Pdf的Unicode字符

我正在使用itextsharp dll将HTML转换为PDF。 HTML有一些Unicode字符,如α,β…当我尝试将HTML转换为PDF时,Unicode字符不显示在PDF中。 我的function: Document doc = new Document(PageSize.LETTER); using (FileStream fs = new FileStream(Path.Combine("Test.pdf"), FileMode.Create, FileAccess.Write, FileShare.Read)) { PdfWriter.GetInstance(doc, fs); doc.Open(); doc.NewPage(); string arialuniTff = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "ARIALUNI.TTF"); BaseFont bf = BaseFont.CreateFont(arialuniTff, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); Font fontNormal = new Font(bf, 12, Font.NORMAL); List<IElement> list = HTMLWorker.ParseToList(new StringReader(stringBuilder.ToString()), new StyleSheet()); Paragraph p = new Paragraph {Font = […]

为什么数组types对象是不可修改的?

这里说明了这一点 术语可修改的左值用于强调左值允许指定的对象被改变以及被检查。 以下对象types是左值,但不能修改左值: 一个数组types 一个不完整的types 一个const限定的types 一个结构或联合types的一个成员资格为consttypes 因为这些左值是不可修改的,所以它们不能出现在赋值语句的左边。 为什么数组types对象是不可修改的? 写这个不正确吗? int i = 5, a[10] = {0}; a[i] = 1; ? 而且,什么是不完整的types?

错误:在这个简单的C代码中需要左值吗? (三元分配?)

我有 : #include<stdio.h> int main() { int a=5,b=6; (a>b)?b=a:b=b; // Here is the error return 0; } 但是如果我replace: (a>b)?b=a:b=b; // Error with (a>b)?(b=a):(b=b); // No-Error 我知道lvalue是可以赋值的rvalue ,它与rvalue有什么不同,但为什么extra parenthesis产生差异。

我应该从Domain层抽象validation框架吗?

我正在使用FluentValidation来validation我的服务操作。 我的代码如下所示: using FluentValidation; IUserService { void Add(User user); } UserService : IUserService { public void Add(User user) { new UserValidator().ValidateAndThrow(user); userRepository.Save(user); } } UserValidator实现FluentValidation.AbstractValidator。 DDD说领域层必须是技术独立的。 我正在做的是使用validation框架,而不是自定义的例外。 将validation框架放入域图层是一个坏主意?