摘要:
一个完整的配置文件的例子如下所示,这个是”在C#代码中应用Log4Net(二)”中使用的配置文件。 先不分析上面这段配置信息是什么意思。我们先来回想一下我们的日志类通常用来做什么,假设我们有一个库存管理系统,分为两大模块,一个是出库,一个是入库。我们可能想要出库的相关信息保存在某一个文件夹里面,入库的信息存在另一个文件夹里面。这样,我们... 阅读全文
摘要:
不管用什么框架,学什么东西,最初的想法还不是尽快地用上这个框架,所以我们在这个章节还是不打算介绍具体配置节的应用,而是直接给出一个经典的使用样例,让你尽快上手。即使你对Log4Net的配置不熟悉也完全没有关系。(下面的文章假定你已经看过了第一篇,当然在有的操作中,我还是会简单地重复第一篇,以便加深你的记忆)先说说这篇教程的思路,我们打算使用Log4Net,首先必须先引入Log4Net的库;然后我们要对Log4Net进行一些配置;最后,我们会在代码里面使用它。1、引入Log4Net.dll组件→见第一篇2、自定义Log4Net配置文件的引入与第一篇不同的是,我们将不再App.config或Web 阅读全文
摘要:
首先让我们先把Log4Net跑起来,示例代码在文章最后面可以下载1、先把Log4Net引入到工程中,为了演示方便,我们先建立一个winform程序。在程序的根目录下面,建立一个Libs文件夹,以便存放Log4Net的DLL文件。2、进行一些简单的配置,先不讲配置文件的作用,大家照我写的输入。下面代码库的内容是在App.config文件中输入的,如果大家没有App.config文件,可以通过在解决方案中,添加新建项→应用程序配置文件,进行添加。 3、在As... 阅读全文
摘要:
为了方便开发人员使用反射或者与基本组件通信,c#编译器允许将一个表达式的类型标记为dynamic。还可将一个表达式的结果放到一个变量中,并将变量的类型标记为dynamic,然后,用这个dynamic表达式调用一个成员。如下面代码: 1 static void Main(string[] args) 2 { 3 for (int i = 0; i < 2; i++) 4 { 5 dynamic arg = (i == 0) ? (dynamic)5 : (dynamic)"A"; 6 ... 阅读全文