当前位置: 首页 > news >正文

做网站激励语phpmysql网站设计

做网站激励语,phpmysql网站设计,汉沽谁做网站,crm系统排行榜在.NET世界了#xff0c;object是公认的造物主#xff0c;其麾下的7大成员#xff0c;个顶个的横行在任何系统的任何代码角落。 public class Object {public Object();public virtual bool Equals(object obj);public static bool Equals(object objA, object objB);publi…在.NET世界了object是公认的造物主其麾下的7大成员个顶个的横行在任何系统的任何代码角落。 public class Object {public Object();public virtual bool Equals(object obj);public static bool Equals(object objA, object objB);public virtual int GetHashCode();public Type GetType();protected object MemberwiseClone();public static bool ReferenceEquals(object objA, object objB);public virtual string ToString(); } 关于object的故事有很多很多。而今天的故事则着眼于“为熟悉的朋友做点儿不熟悉的事儿”。相信吗我的Object成员不见了不信你可以欣赏一下消失了的object成员。 哈哈清新多了吧比起下面常见的编码方式 是不是让人不知所挫。大概说来任何时候在长长的成员方法列表中你总能看到他们的身影谁让object是万物的基类呢不过有些时候我可能希望眼根清净屏蔽掉不会使用的父类成员使得方法调用变得更加简洁就像上面的IObject成员一样。 那么这一切是如何做到的呢虽然我是一个诚实的人但是其实这是一次赤裸裸的欺骗而行骗的家伙就是将要闪亮登场的 namespace System.ComponentModel {[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Interface | AttributeTargets.Delegate)]public sealed class EditorBrowsableAttribute : Attribute{} } 是的正是System.CompentModel.EditorBrowsableAttriute。以上例而言我其实为AnyObject类实现了下面的编码 public interface IObject : IAnyObject {void About(); } public class AnyObject : IObject {public void About(){} } 其中的核心在于IAnyObject的定义 namespace Anytao.Core.Common {/// summary/// A common interface for any object/// /summary[EditorBrowsable(EditorBrowsableState.Never)]public interface IAnyObject{[EditorBrowsable(EditorBrowsableState.Never)]bool Equals(object obj);[EditorBrowsable(EditorBrowsableState.Never)]int GetHashCode();[EditorBrowsable(EditorBrowsableState.Never)]Type GetType();[EditorBrowsable(EditorBrowsableState.Never)]string ToString();} } 在通常的情况下我的Anytao.Core.Common基础组件中都提供一个通用的IAnyObject接口该接口的作用就是将object成员魔术般的隐藏掉就如同本文开始的IObject一样。 所以我们回到System.CompentModel.EditorBrowsableAttriute特性就可以了解到其作用就是标识一个类或者属性在编辑器中的可见性。 那么难道他们真的消失了吗继续应用一开始的代码 class Program {static void Main(string[] args){IObject obj new AnyObject();Console.WriteLine(obj.ToString());} } 我们发现虽然ToString对obj是不可见的但是运行时调用仍然没有问题所以总体说来System.ComponentModel.EditorBrowsableAttribute只是一个障眼法在此实现了对Visual Studio智能感知的控制。其中EditorBrowsableState选项主要包括了 Advanced针对高级成员的选项设置同样的方式可以应用Visual Studio的Options-Text Editor-C#-General的Hide advanced members设置。Always总是可见。Never总是不可见。 注意在Visual C#中EditorBrowsableAttribute并不对同一程序集的成员有效。 还等什么也去试试吧另外关于编辑器还有很多好玩的特性值得挖掘贵在发现的力量。 参考文献 Show Advanced Members in Visual Studiohttp://www.blackwasp.co.uk/ShowAdvancedMembers.aspx
http://www.pierceye.com/news/166628/

相关文章:

  • 开发网站需要怎么做嘉兴快速建站合作
  • 阿里云建站后台建站网站降权怎么恢复
  • 天津河西做网站公司怎么设置网站的关键字
  • 做网站会提供源代码吗朝阳网站制作设计
  • 企业做网站找谁有什么建筑网站
  • 自己做的网站显示iis7游戏网站怎么建设
  • 淘宝联盟怎么做自已的网站什么叫利用网站做蜘蛛池
  • 做网站要多少带宽镇江网站建设联系思创
  • 唐朝网站的地址软件设计师报考条件
  • seo网站建设刘贺稳营销专家a西宁市网站建设多少钱
  • 上海哪家公司做网站最好网站建设服务合同 付款方式
  • 做网站需要源码吗软件代理商招募
  • 陕西省西安市制作网站上海云建站模板
  • wordpress注册审批汕头网站优化
  • 想招代理去什么网站做网站seo优化的公司
  • 网站制作是什么公司建设企业官方网站的流程
  • 深圳哪家网站建设公司好门户网站制作平台
  • 互联网网站模版工作室网站开发
  • 现在从事网站开发如何销售团队
  • 公司网站设计素材淘宝官网首页
  • 建设公司网站的目的seo推广软件下载
  • 排名好的成都网站建设十堰网络销售
  • 网站qq号获取网站运营与建设作业
  • 网站建设要经历哪些步骤建设银行官网学生交费网站
  • 如何注册网站平台怎么免费搭建一个网站
  • 淘宝客网站建设平台怎么获取网站数据做统计数据
  • 做网站找外包公司要要搞清楚什么抖音开放平台是干嘛的
  • 可以中英切换的网站怎么做四川住房建设厅官方网站
  • 网站制作网站设计优客工场 网站开发
  • 微网站建设开发用系统建购物网站