早在.net2.0, 微软就发布了"extern alias" C#关键字,目的就是为了解决在参照不同的Assembly时类型全名相同的问题。

以前还没觉得有多大的用处,但在做Silverlight DesignTime开发时,深刻感觉到它的必要了。原因很简单,Silverlight的DesignTime(IDE/Blend)都是WPF程序,有很多类型都是同时存在于SL和WPF assembly 中,比如System.Windows.FrameworkElement 。所以我们需要用这个关键字来明确指出代码中的类型到底属于SL或者WPF。

System.Windows.FrameworkElement 就在PresentationFramework.dll(WPF)和System.Windows.dll(SL)中都有定义,当我们在DesignTime代码里需要使用FrameworkElement 时,可以如此调用:

代码

 1 // sl 就是System.Windows.dll的别名,在IDE里你可以用PropertyWindow去定义此Assembly的Aliases属性
 2 //
 3 extern alias sl;
 4 
 5 using System;
 6 using System.Windows;
 7 internal class SampleDesignTimeClass
 8 {
 9 private void SampleMethod(Type myControlType)
10 {
11 // 现在使用的FrameworkElement就是定义在SL中的Type了
12 //
13 if (typeof(sl::System.Windows.FrameworkElement).IsAssignableFrom(myControlType))
14 {
15 ……
16 }
17 }
18  
19 }
20 

转载于:https://www.cnblogs.com/jacksonyin/archive/2010/07/13/1776545.html

Silverlight 控件开发记录之 extern alias” 关键字相关推荐

  1. android桌面时钟小控件开发记录

    所谓桌面小控件,就是能之间显示在Android系统桌面的小程序. 桌面小控件的实现是基于Broadcast的形式实现的,因此,每一个桌面小控件都对应于一个BroadcastReceiver类.Andr ...

  2. 一起谈.NET技术,asp.net控件开发基础(18)

    本篇继续上篇的讨论,可能大家已经在使用asp.net2.0了,DataSource属性不再使用,而是跟数据源控件搭配使用.现在讨论的绑定技术都是基于1.1版本,先熟悉一下,本质上是一样的,这样一步步的 ...

  3. 探讨微软ASP.NET AJAX控件开发技术(服务器端)

    一.简介 到目前为止,我们已经讨论了开发Ajax控件所涉及的客户端相关技术.现在,让我们来讨论此过程中与服务器端相关的一些技术. 需要说明的是,在[客户端]篇中我们的举例本质上仅是使用ASP.NET ...

  4. python爬silverlight_Python创建Silverlight控件编写过程经验分享

    Python编程语言可以帮助我们实现哪些功能呢?它的主要应用范围都包括哪些呢?我们今天先来了解一下有关Python创建Silverlight控件的相关实现方法,以此来初步熟悉一下这一语言的应用方式以及 ...

  5. 一起谈.NET技术,asp.net控件开发基础(17)

    本篇将开始介绍如自定义数据绑定控件,这里感谢很多人的支持,有你们的支持很高兴.这里首先需要大家熟悉asp.net模板控件的使用,还有自定义模板控件.因为数据绑定控件多是基于模板控件的. 一.回顾 如果 ...

  6. 海康威视视频ocx控件开发总结

    因工作需要,需要开发一个海康威视的视频ocx控件,嵌入到intouch,组态王一类的组态软件中使用. 之前从没做过ocx控件的开发,连MFC的开发也没做过,折腾了几天,终于基本完成.记录一下这个过程. ...

  7. 【delphi】微信公众号控件开发(一)

    Delphi 微信公众号控件开发: Delphi微信公众号控件开发: 一.公共属性定义 1. AppID(开发者ID) 2. AppSecret(开发者密码) 3. Token(令牌) 4. Base ...

  8. Asp.net控件开发学习笔记(三)-控件开发基础

    封装      在asp.net中,控件被分为两类.用户控件和自定义服务器控件.前者就是我们经常用来将一些可复用的内容封装成的.ascx文件.这里主要研究后者. 创建自定义服务器控件      创建自 ...

  9. ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl

    第四章 组合控件开发CompositeControl 大家好,今天我们来实现一个自定义的控件,之前我们已经知道了,要开发自定义的控件一般继承三个基 类:Control,WebControl,还有一个就 ...

最新文章

  1. Attention机制_pytorch
  2. tensorflow1
  3. System Center 2012 R2 CM系列之安装Configuration Manager
  4. 怎么向tab control中加其它控件(如文本框等)
  5. Extjs4 tab添加右键刷新功能
  6. win10系统要求配置_酒店智能化集成系统设计要素、系统功能要求和配置标准
  7. 学习笔记(32):Python网络编程并发编程-线程queue
  8. 判断非负整数是否是3的倍数_五年级数学因数与倍数知识点汇总与解题方法技巧...
  9. java web传递参数_Javaweb的八种传值方式
  10. java代码建立删除vpn_Java类集综合练习——信息管理(增、删、改、查)
  11. vasp计算-INCAR文件
  12. 图像检索算法 TODO
  13. 0基础学习音视频路线,以及重磅音视频资料下载
  14. 发布地图服务时导入已有的tpk切片包作为缓存
  15. Excel收纳箱:如何通过VBA获得包含数据的最大行
  16. 剑风2012年1月要出剧场版了,哇哈哈~~~~~
  17. 使用ffmpeg将视频切片并加密
  18. 我们能做出量子计算机却至今摸不透量子力学,我们能做出量子计算机 却至今摸不透量子力学...
  19. 第三代计算机的操作系统,操作系统基础
  20. js中图片加载失败,显示默认图片

热门文章

  1. pgp加密软件的简单使用
  2. iphone 使用popViewController如何避免内存泄露
  3. java弱引用弱点_终于有人把Java强、软、弱、虚四种引用知识点整理出来了
  4. php代码审计工具_【学习笔记】PHP代码审计入门:代码审计实例2
  5. Kubernetes — 网络流量模型
  6. C 语言编程 — 结构体的数据类型转换
  7. VirtualBox安装Ubuntu详细过程
  8. php中命名空间和use
  9. 记一次接收微信公众平台推送消息的实例
  10. 成功企业的核心思维逻辑