Tag: C#的

类库中的HtmlEncode

我有一个类库(在C#中)。 我需要使用HtmlEncode方法编码我的数据。 这从Web应用程序很容易做到。 我的问题是,如何从控制台应用程序调用的类库中使用此方法?

C的隐藏function

我知道所有的C编译器实现都有一个标准,所以不应该有隐藏的特性。 尽pipe如此,我确信所有的C开发者都有隐藏/秘密的技巧。

C ++中的内部typedef – 风格好还是风格不好?

我发现自己最近经常做的事情是声明与该类中的特定类相关的typedef,即 class Lorem { typedef boost::shared_ptr<Lorem> ptr; typedef std::vector<Lorem::ptr> vector; // // … // }; 这些types然后在代码中的其他地方使用: Lorem::vector lorems; Lorem::ptr lorem( new Lorem() ); lorems.push_back( lorem ); 我喜欢它的理由: 它减less了由类模板引入的噪声, std::vector<Lorem>变成了Lorem::vector等 它作为一个意图声明 – 在上面的例子中,Lorem类旨在通过boost::shared_ptr引用计数并存储在一个向量中。 它允许实现改变 – 例如,如果需要改变Lorem,以便在后期对引用计数(通过boost::intrusive_ptr )进行入侵式引用计数,那么这将对代码产生最小的影响。 我认为它看起来更漂亮,可以说比较容易阅读。 我不喜欢的原因: 如果你想在另一个类中embedded一个Lorem::vector ,但是只需要(或者想)转发declare Lorem(而不是在头文件中引入依赖),那么你最终会必须使用显式types(例如boost::shared_ptr<Lorem>而不是Lorem::ptr ),这有点不一致。 这可能不是很常见,因此难以理解? 我试着用自己的编码风格来客观,所以最好能有一些其他的意见,所以我可以稍微剖析一下我的想法。

如何将C#匿名types序列化为JSONstring?

我试图使用下面的代码来将一个匿名types序列化为JSON: var serializer = new DataContractJsonSerializer(thing.GetType()); var ms = new MemoryStream(); serializer.WriteObject(ms, thing); var json = Encoding.Default.GetString(ms.ToArray()); 但是,当执行此操作时,我会得到以下exception: types'<> f__AnonymousType1`3 [System.Int32,System.Int32,System.Object []]'不能被序列化。 考虑使用DataContractAttribute属性标记它,并使用DataMemberAttribute属性标记要序列化的所有成员。 有关其他支持的types,请参阅Microsoft .NET Framework文档。 我不能将属性应用于匿名types(据我所知)。 有没有另外一种方法来做这个序列化或者我错过了什么?

MVC 3:如何通过ajax加载时如何呈现没有其布局页面的视图?

我正在学习渐进式增强 ,我有一个关于AJAX化视图的问题。 在我的MVC 3项目中,我有一个布局页面,一个viewstart页面和两个普通的视图。 viewstart页面位于Views文件夹的根目录,因此适用于所有视图。 它指定所有的视图应该使用_Layout.cshtml布局页面。 布局页面包含两个导航链接,每个视图一个。 链接使用@Html.ActionLink()来呈现自己到页面。 现在我已经添加了jQuery,并希望劫持这些链接,并使用Ajaxdynamic地在页面上加载他们的内容。 <script type="text/javascript"> $(function () { $('#theLink').click(function () { $.ajax({ url: $(this).attr('href'), type: "GET", success: function (response) { $('#mainContent').html(response); } }); return false; }); }); </script> 有两种方法可以做到这一点,但我并不特别喜欢: 1)我可以将整个视图的内容放在一个局部视图中,然后让主视图在渲染时调用局部视图。 这样,在控制器中使用Request.IsAjaxRequest() ,我可以根据请求是否是Ajax请求返回View()或返回PartialView() 。 我不能将常规视图返回到Ajax请求,因为那么它会使用布局页面,我会得到注入布局页面的第二个副本。 但是,我不喜欢这样做,因为它迫使我只用@{Html.RenderPartial();}来创build空视图,而这些视图是针对标准GET请求的。 public ActionResult Index() { if (Request.IsAjaxRequest()) return PartialView("partialView"); else return View(); } 然后在Index.cshtml中这样做: @{Html.RenderPartial("partialView");} […]

System.Web.WebPages.Razor.Configuration.HostSection不能转换为… web.config问题

我收到以下错误: [A] System.Web.WebPages.Razor.Configuration.HostSection不能转换为[B] System.Web.WebPages.Razor.Configuration.HostSection。 typesA来源于'System.Web.WebPages.Razor,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35',位置为'C:\ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll”。 typesB来源于'C:\ Users \ MyName \ AppData \ Local \ Temp \ Temporary'上下文'Default'中的'System.Web.WebPages.Razor,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35' ASP.NET Files \ root \ 63e7ff36 \ a1cb775d \ assembly \ dl3 […]

获取url,而不querystring

我有这样的url: http://www.example.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye 我想从中获取http://www.example.com/mypage.aspx 。 你能告诉我怎样才能得到它?

什么是__DynamicallyInvokable属性?

在DotPeek中查看System.Linq.Enumerable我注意到一些方法调用了[__DynamicallyInvokable]属性。 这个属性起什么作用? 是由DotPeek添加的东西还是它扮演了另一个angular色,也许告诉编译器如何最好地优化方法?

如果(false == true)在抛出exception的时候执行block

我有一个相当奇怪的问题正在发生。 这是我的代码 private async Task BreakExpectedLogic() { bool test = false; if (test == true) { Console.WriteLine("Hello!"); throw new Exception("BAD HASH!"); } } 似乎很简单,它不应该击中Console.WriteLine或throw 。 出于某种原因,它总是在throw 。 如果我把throw自己的方法,那么它工作正常。 我的问题是,它是如何忽略if块并击中throw new Exception 编辑1我已经更新我的代码,包括签名,我已经删除了一切与这​​个问题没有关系,并运行它,它仍然发生

为什么在C ++ 11中使用非成员的开始和结束函数?

每个标准容器都有一个用于返回该容器迭代器的begin和end方法。 但是,C ++ 11显然引入了称为std::begin和std::end自由函数,它们调用begin和end成员函数。 所以,而不是写作 auto i = v.begin(); auto e = v.end(); 你会写 using std::begin; using std::end; auto i = begin(v); auto e = end(v); 在他的谈话中, Writing Modern C ++ ,Herb Sutter说,当你想要一个容器的开始或结束迭代器时,你应该总是使用自由函数。 但是,他没有详细说明为什么你想要。 看代码,它可以节省你所有的一个字符。 所以,就标准容器而言,免费function似乎完全没有用处。 Herb Sutter表示,对非标准容器有好处,但他没有详细说明。 所以,问题是std::begin和std::end的自由函数版本究竟做了什么,除了调用相应的成员函数版本之外,为什么要使用它们?