长期饭票

大家好,请喊我序员!
QQ:15838986
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页

2011年4月22日

摘要: MEF提供的基于特性的编程模型,可以动态的根据目录找出程序集里面的所有程序部件。 对于MEF的目录服务MEF分别为WPF和Silverlight提供了不同的目录机制。使用目录的主要功能就是方便实现程序部件的装载,以及动态的组合应用程序部件等功能,更可以非常方便的得到程序部件的程序集、导出部件等相关数据。 如下代码块演示了如何在Silverlight中获取到当前应用程序的目录信息,包括了程序集和程序部件等。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/ 阅读全文

posted @ 2011-04-22 13:16 Baode 阅读(684) 评论(0) 推荐(0) 编辑

摘要: MEF中使用导出与导入,实质上就是对一个对象的实例化的过程,通过MEF的特性降低了对象的直接依赖,从而让系统的设计达到一种高灵活、高扩展性的效果。在具体的设计开发中,存在着某些对象是不需要在系统运行或者的附属对象初始化的时候进行实例化的,仅仅只需要在需要使用到他的时候才会进行实例化,从系统的上来说这也是提高系统性能的一种可行的实现方式,这种方式就可以理解为对象的迟延初始化,或者叫迟延加载。MEF也对此使用场景提供了完善的实现机制,下面来看看在MEF中的迟延初始化是如何使用的。 Code highlighting produced by Actipro CodeHighlighter (free 阅读全文

posted @ 2011-04-22 13:15 Baode 阅读(407) 评论(0) 推荐(0) 编辑

摘要: 在MEF中,使用[System.ComponentModel.Composition.ExportAttribute]支持多种级别的导出部件配置,包括类、字段、属性以及方法级别的导出部件,通过查看ExportAttribute的源代码就知道ExportAttribute被定义为Attribute,并为其设置了使用范围。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->[System.Diagnostics.CodeAnalysis.Suppr 阅读全文

posted @ 2011-04-22 13:13 Baode 阅读(734) 评论(0) 推荐(0) 编辑

摘要: 按照MEF的约定,任何一个类或者是接口的实现都可以通过[System.ComponentModel.Composition.Export] 属性将其他定义组合部件(Composable Parts),在任何需要导入组合部件的地方都可以通过在特定的组合部件对象属性上使用[System.ComponentModel.Composition.Import ]实现部件的组合,两者之间通过契约(Contracts)进行通信,实际上这一步可以简单的理解为“依赖注入”,本质上就是对象的实例初始化过程。 我个人理解,凡是通过MEF的[ExportAttribute]标注的对象都可以理解为一个可进行组合的部件, 阅读全文

posted @ 2011-04-22 13:11 Baode 阅读(661) 评论(0) 推荐(0) 编辑

摘要: MEF可以在传统应用程序中使用(包括桌面的Winform、控制台程序和Web的ASP.NET),也可以在RIA的Silverlight中使用。在Silverlight中只是宿主的方式有所不同,实际上在Silverlight中也可以像传统应用程序中是方式去宿主,MEF也为Silverlight提供了独特的宿主方式,使用中需要引用System.ComponentModel.Composition.Initialization.dll动态链接库。 Silverlight中提供了一种新的宿主MEF的方式,只需要在Application_Startup事件处理函数中通过调用System.Componen 阅读全文

posted @ 2011-04-22 13:09 Baode 阅读(658) 评论(0) 推荐(0) 编辑

摘要: 在应用程序中宿主MEF其实非常简单,只需要创建一个组合容器对象(CompositionContainer)的实例,然后将需要组合的部件(Parts)和当前宿主程序添加到容器中即可。首先需要添加MEF框架的引用,既System.ComponentModel.Composition.dll,详细如下代码块: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->privatevoidCompose(){varcatalog=newAssemblyCat 阅读全文

posted @ 2011-04-22 11:23 Baode 阅读(1453) 评论(0) 推荐(1) 编辑

2011年4月20日

摘要: 1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;4//方法一5usingSystem.Runtime;6usingSystem.Runtime.InteropServices;7//方法二Net2.0新增类库8usingSystem.Net.NetworkInformation;910namespaceInternetCheck11{12publicclassInternet13{14[DllImport("wininet.dll")]15privateexternstaticboolInter 阅读全文

posted @ 2011-04-20 13:56 Baode 阅读(15804) 评论(0) 推荐(2) 编辑

2011年2月16日

摘要: 本主题简要介绍 LINQ 查询表达式,以及您在查询中执行的一些典型类型的操作。下面各主题中提供了更详细的信息:获取数据源 在 LINQ 查询中,第一步是指定数据源。像在大多数编程语言中一样,在 C# 中,必须先声明变量,才能使用它。在 LINQ 查询中,最先使用 from 子句的目的是引入数据源 (customers) 和范围变量 (cust)。[代码]范围变量类似于 foreach 循环中的迭代变量,但在查询表达式中,实际上不发生迭代。执行查询时,范围变量将用作对 customers 中的每个后续元素的引用。因为编译器可以推断 cust 的类型,所以您不必显式指定此类型。其他范围变量可由 l 阅读全文

posted @ 2011-02-16 17:21 Baode 阅读(228) 评论(0) 推荐(0) 编辑

摘要: 查询操作中的类型关系 (LINQ)若要有效编写查询,您应该了解完整的查询操作中的变量类型是如何全部彼此关联的。如果您了解这些关系,就能够更容易地理解文档中的 LINQ 示例和代码示例。另外,还能了解在使用 var 隐式对变量进行类型化时的后台操作。LINQ 查询操作在数据源、查询本身及查询执行中是强类型的。查询中变量的类型必须与数据源中元素的类型和 foreach 语句中迭代变量的类型兼容。此强类型保证在编译时捕获类型错误,以便可以在用户遇到这些错误之前更正它们。为了演示这些类型关系,下面的大多数示例对所有变量使用显式类型。最后一个示例演示在您利用使用 var 的隐式类型时,如何应用相同的原则 阅读全文

posted @ 2011-02-16 17:21 Baode 阅读(216) 评论(0) 推荐(0) 编辑

摘要: LINQ 查询基于泛型类型,在 .NET Framework 的 2.0 版中引入了泛型类型。您无需深入了解泛型即可开始编写查询。但是,您可能需要了解两个基本概念:当您创建泛型集合类(如 List<(Of <(T>)>))的实例时,您将“T”替换为列表将包含的对象的类型。例如,字符串列表表示为 List,Customer 对象列表表示为 List。泛型列表是强类型的,且提供了比将其元素存储为 Object 的集合更多的好处。如果您尝试将 Customer 添加到 List,则会在编译时出现一条错误。泛型集合易于使用的原因是您不必执行运行时类型强制 阅读全文

posted @ 2011-02-16 17:20 Baode 阅读(304) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页