你需要知道的隐式转换操作符
来源:互联网 发布:伪装地理位置软件哪个 编辑:程序博客网 时间:2024/06/07 16:33
首先大家来看下面这一行代码
XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
我们需要构造一个XNamespace对象,按一般的习惯,我们需要New(…..)对吧,但是为什么可以直接将一个字符串给赋值过去呢?
其实这就是隐式转换操作符 ,请看下面的代码实现
using System;namespace System.Xml.Linq{ // 摘要: // 表示一个 XML 命名空间。无法继承此类。 public sealed class XNamespace { // 摘要: // 返回一个指示 System.Xml.Linq.XNamespace 的两个实例是否相等的值。 // // 参数: // left: // 要比较的第一个 System.Xml.Linq.XNamespace。 // // right: // 要比较的第二个 System.Xml.Linq.XNamespace。 // // 返回结果: // 一个 System.Boolean,指示 left 和 right 是否不等。 public static bool operator !=(XNamespace left, XNamespace right); // // 摘要: // 将 System.Xml.Linq.XNamespace 对象与本地名进行组合来创建 System.Xml.Linq.XName。 // // 参数: // ns: // 一个包含命名空间的 System.Xml.Linq.XNamespace。 // // localName: // 一个包含本地名称的 System.String。 // // 返回结果: // 从命名空间和本地名称构造的新 System.Xml.Linq.XName。 public static XName operator +(XNamespace ns, string localName); // // 摘要: // 返回一个指示 System.Xml.Linq.XNamespace 的两个实例是否相等的值。 // // 参数: // left: // 要比较的第一个 System.Xml.Linq.XNamespace。 // // right: // 要比较的第二个 System.Xml.Linq.XNamespace。 // // 返回结果: // 一个 System.Boolean,指示 left 和 right 是否相等。 public static bool operator ==(XNamespace left, XNamespace right); // // 摘要: // 将包含统一资源标识符 (URI) 的字符串转换为 System.Xml.Linq.XNamespace。 // // 参数: // namespaceName: // 一个包含命名空间 URI 的 System.String。 // // 返回结果: // 从 URI 字符串构造的 System.Xml.Linq.XNamespace。 [CLSCompliant(false)] public static implicit operator XNamespace(string namespaceName); // 摘要: // 获取此命名空间的统一资源标识符 (URI)。 // // 返回结果: // 一个包含命名空间 URI 的 System.String。 public string NamespaceName { get; } // // 摘要: // 获取不与命名空间对应的 System.Xml.Linq.XNamespace 对象。 // // 返回结果: // 不与命名空间对应的 System.Xml.Linq.XNamespace。 public static XNamespace None { get; } // // 摘要: // 获取与 XML URI (http://www.w3.org/XML/1998/namespace) 对应的 System.Xml.Linq.XNamespace // 对象。 // // 返回结果: // 与 XML URI (http://www.w3.org/XML/1998/namespace) 对应的 System.Xml.Linq.XNamespace。 public static XNamespace Xml { get; } // // 摘要: // 获取与 xmlns URI (http://www.w3.org/2000/xmlns/) 对应的 System.Xml.Linq.XNamespace // 对象。 // // 返回结果: // 与 xmlns URI (http://www.w3.org/2000/xmlns/) 对应的 System.Xml.Linq.XNamespace。 public static XNamespace Xmlns { get; } // 摘要: // 确定指定的 System.Xml.Linq.XNamespace 是否等于当前的 System.Xml.Linq.XNamespace。 // // 参数: // obj: // 要与当前 System.Xml.Linq.XNamespace 进行比较的 System.Xml.Linq.XNamespace。 // // 返回结果: // 一个 System.Boolean,指示指定的 System.Xml.Linq.XNamespace 是否等于当前的 System.Xml.Linq.XNamespace。 public override bool Equals(object obj); // // 摘要: // 获取指定的统一资源标识符 (URI) 的 System.Xml.Linq.XNamespace。 // // 参数: // namespaceName: // 一个包含命名空间 URI 的 System.String。 // // 返回结果: // 从指定的 URI 创建的 System.Xml.Linq.XNamespace。 public static XNamespace Get(string namespaceName); // // 摘要: // 获取此 System.Xml.Linq.XNamespace 的哈希代码。 // // 返回结果: // 一个 System.Int32,其中包含 System.Xml.Linq.XNamespace 的哈希代码。 public override int GetHashCode(); // // 摘要: // 返回从此 System.Xml.Linq.XNamespace 和指定的本地名称创建的 System.Xml.Linq.XName 对象。 // // 参数: // localName: // 一个包含本地名称的 System.String。 // // 返回结果: // 从此 System.Xml.Linq.XNamespace 和指定的本地名称创建的 System.Xml.Linq.XName。 public XName GetName(string localName); // // 摘要: // 返回此 System.Xml.Linq.XNamespace 的 URI。 // // 返回结果: // 此 System.Xml.Linq.XNamespace 的 URI。 public override string ToString(); }}.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }
- 你需要知道的隐式转换操作符
- 用好你的pycharm 需要知道这些操作(windows)
- 你需要知道的git
- 你不知道的JavaScript--Item3 隐式强制转换
- 你需要知道的国外典故
- 初学MySQL需要你我知道的
- 你需要知道的CSS3 动画技术
- Sybase IQ,你需要知道的基础
- 网站开发 你需要知道的几件事
- 网站开发 你需要知道的几件事
- 你需要知道HTML5的五件事
- Sybase IQ,你需要知道的基础
- 十个你需要知道的正则表达式
- 你需要知道的三个CSS技巧
- 你需要知道的三个CSS技巧
- 你需要知道的三个CSS技巧
- 你需要知道的三个 CSS 技巧
- 你需要知道的三个CSS技巧
- Silverlight隔离存储(续)
- hello,mono!
- RIA 亮剑行动
- Silverlight中的多语言支持中几个特殊之处
- Silverlight中使用自定义服务
- 你需要知道的隐式转换操作符
- Silverlight的跨站策略和跨站策略文件
- 根据方法名执行方法的例子
- 关于Thread.IsAlive属性
- 事件处理程序的处理顺序问题
- 支持取消操作和暂停操作的Backgroundworker
- 线程池(ThreadPool)
- SystemEvents和SystemEvents线程
- 默认情况下程序启动后到底是几个线程?