第九章 配置和调度在上一章,你学到如何创建一个通用语言运行时(CLR)组件,且如何在一个简单的测试应用程序中使用它。虽然CLR组件就要准备装载了,但你还是应该思考以下技术之一:。条件编译。文档注释。代码版本化 9.1 条件编译 没有代码的条件编译功能,我就不能继续工作。条件编译允许执行或包括基于某些条件的代码;例如,生成应用程序的一个查错(DEBUG)版本、演示(DEMO)版本或零售(RELEASE)版本。可能被包括或被执行...
第八章 用C#写组件这一章关于用C#写组件。你学到如何写一个组件,如何编译它,且如何在一个客户程序中使用它。更深入一步是运用名字空间来组织你的应用程序。这章由两个主要大节构成:。你的第一个组件。使用名字空间工作 8.1 你的第一个组件 到目前为止,在本书中提到的例子都是在同一个应用程序中直接使用一个类。类和它的使用者被包含在同一个执行文件中。现在我们将把类和使用者分离到组件和客户,它们分别位于不同的二进制文...
第一章 C# 简介 欢迎您加入C#的世界! 这一章将把您引进C#的天地,并回答一些相关的问题,如:您为什么要使用C#,C++和C#的主要有什么不同点,以及为什么C#使开发更容易而且还使您感到很有趣。为什么是另外一种编程语言? 必须回答的一个问题:当您已经使用C++或VB从事企业开发时,为什么还要学习另一种语言? 市场式的回答就是:"在企业计算领域,C#将会变成为用于编写"下一代窗口服务"(Next Generation Windows Services,简写为...
第二章 理论基础-公用语言 运行环境既然你已经具有了C#全面的印象,我也想让你了解NGWS runtime的全貌。C#依靠由NGWS提供的运行时;因此,有必要知道运行时如何工作,以及它背后所蕴含的概念。所以,这一章分为两部分——它们是所有的概念和使用的基础。两部分的内容虽然有些重叠,但它有助于加深理解正在学习的概念。 2.1 NGWS RuntimeNGWS和NGWS Runtime为你提供了一种运行时环境。该运行时管理执行代码,并提供了使编程更容易...
1.如果可能尽量使用接口来编程 .NET框架包括类和接口,在编写程序的时候,你可能知道正在用.NET的哪个类。然而,在这种情况下如果你用.NET支持的接口而不是它的类来编程时,代码会变得更加稳定、可用性会更高。请分析下面的代码: private void LoadList (object [] items, ListBox l) { for (int i = 0; i < items.Length;i++) l.Items.Add (items[i].ToString ()); }这个函数从一个可为任何对象的数组中...
单线程IP地址解析 文章目录单线程IP地址解析目标程序实现思路实现过程在控制台中尝试过程设计WPF界面后台代码所需要的知识IP地址端口C#中关于IP地址转换的类AddressFamily属性IPEndPoint类IPHostEntry类域名解析GetHostAddresses方法GetHostEntry方法GetHostName方法 目标程序界面如下图? 设计方法:完成单个IP地址解析,循环调用方法,完成扫描。 注意用stopwatch计算时间。实现思路先知道怎么解析一个单个的IP地址。 用...
点赞 收藏分享文章举报小陆老师发布了543 篇原创文章 · 获赞 26 · 访问量 6万+他的留言板 关注
学习面向对象编程语言实际上是学习好面向对象编程的各种原则、方法、技巧、经验、模式等;注意:下面通过一个项目实战【模拟考试系统】,从这个过程中展示各种方法原则; 一、项目需求分析 1)试题数据存放在文本文件中,分析格式(后面可以改成数据); 2)面向对象程序设计的分析基本步骤: 1.分析项目中有哪些类(或者对象)参与程序。分析结果:对象选择的标准:【名词分析法】第一, 这个对象的确能参与程序的运行; 第二, 这...
各位博客网的朋友大家好,我是石头,现在由我带来《C#并行编程》这门课程。 相信大家对并行编程都有一定的了解,比如多线程、异步等等。 这次课程内容来自《C#并发编程经典实例》--- Stephen Cleary 这本书,有兴趣的同学可以阅读本书,可以获取更丰富的知识。学习目录如下并发编程相关概念 同步上下文线程调度 线程池概念 异步编程基础 数据流块处理 Rx事件处理 互操作 线程安全集合 取消任务 任务调度
一、解决方案资源管理器认识 1.解决方案 解决方案文件位于最顶级,每个应用程序都有一个。一个解决方案可以包含一个或多个项目。Visual studio 2017使用解决方案组织文件。(TestHello.sln文件) 2.TestHello C#项目文件。每个项目文件都引用一个或多个包含项目源代码以及其他内容(比如图片)的文件。一个项目的所有源代码都必须使用相同的编程语言。在文件资源管理器中,该文件的实际名称是TestHello.csproj 3.Properties 项目中...
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻。如果没有看过前面的文章,请到我的博客首页查看。前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要采用分层架构,就拿最简单的三层架构来说吧,我们通常把业务逻辑写在DLL中,现在就来写一个例子,看看如何在不编译整个项目的情况下,轻松的实现扩展。先透露一下,我们只要添加一个DLL就可以了。这里就以银行为例子吧,首先...
好久没有写博客了,今天抽空继续写MEF系列的文章。有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后。 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用的基本已经讲完了,相信大家已经能看出MEF所带来的便利了。今天就介绍一些MEF中一些较为不常用的东西,也就是大家口中的所谓的比较高级的用法。 前面讲的导出都是在每个类上面添加Export注解,实现导出的,那么有没有一种比较简...
这里补充一下上一章的内容,上一章我们将发送和接收的编辑框每收到一包数据后自动回车换行,并让滚动条处于最底部位置。 我们调用了 TextBoxBase.ScrollToEnd(); 方法类来实现。 但是我们很容易就会发现,当焦点处于编辑框时,这个功能就会失常了。为了解决这个问题,我们只能暂时用强行聚焦的方式解决这个问题:1 m_textBox1.ScrollToEnd(); 2 m_textBox2.ScrollToEnd(); 3 ...
我正在使用API?? NetUserAdd和NetUserSetGroups来添加用户帐户并将其与组关联到计算机.不久之后,我发现了一个使用System.DirectoryServices命名空间和DirectoryEntry对象能够执行相同操作(添加用户,将用户与组关联)的示例. 现在,我需要向该新帐户添加策略,并且面临类似的问题.我可以使用LsaOpenPolicy和LsaAddAccountRights API向和帐户添加策略,但我更喜欢使用.NET对象和方法. 我的问题是,.NET框架中是否存在用于添加和/或修改用户...
前一阵子在写 CPU,导致一直没有什么时间去做其他的事情,现在好不容易做完闲下来了,我又可以水文章了哈哈哈哈哈。 有关 FP 的类型部分我打算放到明年再讲,因为现有的 C# 虽然有一个 pattern matching expressions,但是没有 discriminated unions 和 records,只能说是个半残废,要实现 FP 那一套的类型异常的复杂。西卡西,discriminated unions 和 records 这两个东西官方已经定到 C# 9 了,所以等明年 C# 9 发布了之后我再继...