Tag: C#的

模板类中的模板函数

我有这个代码: template <class T> class MyClass { public: template <class U> void foo() { U a; a.invoke(); } }; 我想要这样的forms: template <class T> class MyClass { public: template <class U> void foo(); }; template <class T> /* ????? */ void MyClass<T>::foo() { U a; a.invoke(); } 我怎么能做到这一点? 什么是正确的语法?

将logging仪作为单件使用是一种好的做法吗?

我有一个习惯将logging器传递给构造函数,如: public class OrderService : IOrderService { public OrderService(ILogger logger) { } } 但是这很烦人,所以我用了一段时间的这个属性: private ILogger logger = NullLogger.Instance; public ILogger Logger { get { return logger; } set { logger = value; } } 这也越来越讨厌 – 这不是干燥的,我需要在每个class都重复这个。 我可以使用基类,但是再次 – 我使用Form类,所以需要FormBase,等等。所以我认为,与ILogger暴露单身人士会有什么缺点,所以很想知道在哪里得到logging器: Infrastructure.Logger.Info("blabla"); 更新:正如Merlyn正确注意到的,我应该提到,在第一个和第二个例子中,我使用DI。

如何使用ASP.NET MVC 3和Stackoverflow的Markdown

我一直在研究几个小时,找不到任何真正的来源。 我在ASP.NET MVC 3中build立一个网站,并希望利用StackOverflow使用的Markdown编辑器。 有没有人有一个很好的教程? 你在哪里下载最新的减价? 它写的是什么语言? 我将从哪里开始将其整合到MVC 3项目中? 即使经过了所有的search和阅读,我仍然很困惑。 我遇到了一个网站。 http://daringfireball.net/projects/markdown/但是,这似乎古怪,似乎我将不得不学习一些关于CGI和PERL,我绝对没有经验。 一个JavaScript / jQuery版本将是出色的。 任何想法,链接,参考非常赞赏。 UPDATE 我注意到这个问题得到了相当数量的意见,所以我决定更新一些有用的参考。 我设法让一个Markdown编辑器在CodeTunnel.com上很好地工作,我写了一些关于它的博客。 希望他们帮助任何遇到这个问题的人。 MarkdownSharp和编码的HTML JQuery WMD插件 find并实施WMD编辑器

在C ++ 11范围for for循环中移除vector中的项目?

我有一个IInventory *的向量,我正在循环使用C ++ 11范围的列表,每个都做一些东西。 在做了一些东西之后,我可能想从列表中删除它并删除对象。 我知道我可以在指针上随时调用delete来清理它,但是在循环的范围内for从vector中移除它的正确方法是什么? 如果我从列表中删除它,我的循环将被视为无效? std::vector<IInventory*> inv; inv.push_back(new Foo()); inv.push_back(new Bar()); for (IInventory* index : inv) { // Do some stuff // OK, I decided I need to remove this object from 'inv'… }

DESTDIR和PREFIX的

我正在尝试将软件安装到特定的目录。 我find了几种方法,但不知道它们之间有什么区别。 ./configure –prefix=*** make install –prefix=*** make install DESTDIR=*** make install prefix=*** 我对这三者的function感到困惑。 他们是否达到了相同的目标?

装载机locking错误

我正在build立在C ++的DLL,通过在C#中编写代码。 我得到一个错误,说 检测到LoaderLock消息:试图在OS Loader锁内进行托pipe执行。 不要试图在DllMain或图像初始化函数中运行托pipe代码,因为这样做会导致应用程序挂起。 我尝试着去查找这个错误究竟意味着什么,但是我正在绘制一些没有意义的文章,主要是说这只是一个警告,我应该在Visual Studio中closures它。 其他解决scheme似乎是由于iTunes,或使用DirectX编程时发生此问题。 我的问题是不相连的。 谁能解释一下,这究竟意味着什么?

为什么C#结构不能被inheritance?

我正在通过Jeffery Richter的C#读取CLR,它说struct是一个值types,不能被inheritance。 为什么不? 任何技术原因? 还是哲学的?

为什么这个延迟循环在几次迭代之后开始运行得更快而没有睡眠?

考虑: #include <time.h> #include <unistd.h> #include <iostream> using namespace std; const int times = 1000; const int N = 100000; void run() { for (int j = 0; j < N; j++) { } } int main() { clock_t main_start = clock(); for (int i = 0; i < times; i++) { clock_t start = […]

LINQ Group By Multiple字段 – 语法帮助

例2所需要的修正是按照多列进行分组 例1 var query = from cm in cust group cm by new { cm.Customer, cm.OrderDate } into cms select new { Key1 = cms.Key.Customer,Key2=cms.Key.OrderDate,Count=cms.Count() }; 示例2(不正确) var qry = cust.GroupBy(p => p.Customer, q => q.OrderDate, (k1, k2, group) => new { Key1 = k1, Key2 = k2, Count = group.Count() });

在派生types上使用类的静态成员?

使用Resharper 4.1,我遇到了这个有趣的警告:“通过派生types访问types的静态成员”。 以下是发生这种情况的代码示例: class A { public static void SomethingStatic() { //[do that thing you do…] } } class B : A { } class SampleUsage { public static void Usage() { B.SomethingStatic(); // <– Resharper warning occurs here } } 有人通过B使用A的静态成员知道有什么问题(如果有的话)吗?