早在.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. VAE--就是AutoEncoder的编码输出服从正态分布
  2. 函数式接口@FunctionalInterface使用示例
  3. (*长期更新)软考网络工程师学习笔记——Section 12 Linux系统与文件管理命令
  4. 真实感人故事_您的数据可以告诉您真实故事吗?
  5. cocos2d对动画的各种操作
  6. 真香 | 谁说的 StringJoiner 不好!真香警告……
  7. 复杂的指针获取字符串里的内容放入数组
  8. Spring Boot Actuator [监控与管理]
  9. Hadoop MapReduce编程 API入门系列之wordcount版本3(七)
  10. Madwifi Mad coding:自底向上分析associated_sta的更新过程 —— RSSI和MACADDR等信息获取的底层原理...
  11. 2021-02-14马克思主义概论
  12. 喜欢看电影来哦!教你如果使用Python网络爬虫爬取豆瓣高分电影!
  13. 电子相册如何用c语言制作,电子相册怎样制作?
  14. Kubernetes:基于WSL2和Kind或Minikube:搭建Windows版Kubernetes
  15. 移动端H5页面,通过点击软键盘搜索按钮实现搜索功能
  16. 电影《暮光之城》不得不爱
  17. openwrt 配置过程
  18. Batch Normalization论文翻译——中英文对照
  19. 惊喜盲盒中奖iPhone 13已收到货
  20. TypeScript里的工具类型Partial的理解用法

热门文章

  1. AJAX 跨域请求(转发)
  2. 2012-06-04 老男孩老师 “我毕业了”(转)
  3. 一个简单程序的反编译
  4. 5G/4G:空口帧结构之帧、子帧、时隙、符号、RB。
  5. AWS — AWS 上的 5G 网络及 MEC 边缘计算商业案例
  6. 5G NR — 动态频谱共享
  7. Go 语言编程 — 编码规范指南
  8. 互联网协议 — 数据路由技术
  9. 添加Altium Designer 3D封装
  10. notepad++主题