隐式运算符和类型转换器是否等效?

2023-12-19

在我看来,实现隐式运算符与 TypeConverter 似乎非常容易,因此我假设它们并不等效,因为框架中 TypeConverters 的流行(请参阅扩展 FrameworkElement 的任何内容)。

但为什么?创建 string->object 和 object->string 隐式运算符并在序列化(XML 和 XAML)中利用这些运算符不是更容易吗?

是亚格尼吗?单一责任?因为您无法在接口中指定运算符重载?


类型转换器比看起来复杂得多;类型转换器可以访问有关该类型的一系列元数据context转换的信息 - 例如,涉及的属性和对象。这用于为每个场景提供自定义选项(想想:链接的下拉菜单,即国家/县/城市/等)。您还可以在每个属性的基础上指定类型转换器,我在很多地方使用它来提供对各种字符串属性的不同处理。运算符会同等对待所有字符串。

隐式运算符只知道value正在转换,但具有更强大的编译时支持。

或者另一种方式:TypeConverter是具有框架支持的框架功能; 运算符(主要)是具有语言支持的语言功能

要添加更多 - 类型转换器(尽管有名称)不只是转换:

  • 它们提供子属性元数据(想想:扩展属性PropertyGrid)
  • 他们建议一种类型的可用选项(想想:下拉选项PropertyGrid)

请注意,它们不仅仅用于更多地方PropertyGrid,不过;-p

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

隐式运算符和类型转换器是否等效? 的相关文章

  • Ajax 函数在重定向后不保存滚动位置

    正如标题所述 我编写了一个 ajax 函数 该函数应该滚动到用户在重定向之前所在的位置 我写了一个alert对于测试场景 它确实触发了 但滚动不断回到顶部 我在这里做错了什么 JavaScript ajax type GET url Adm
  • 频繁插入已排序的集合

    我已经对集合 列表 进行了排序 并且我需要始终保持其排序 我目前在我的集合上使用 List BinarySearch 然后在正确的位置插入元素 我也尝试过在每次插入后对列表进行排序 但性能不可接受 有没有一种解决方案可以提供更好的性能 也许
  • Web.config appSettings:复杂值

    Web config 的 appSettings 部分只能存储这样的简单字符串吗
  • 为什么smtpclient发送的邮件没有出现在已发送项目中

    我已经实现了一个通过 Net SmtpClient 发送电子邮件的服务器 邮件发送代码如下 private static MailMessage SendMail string to string subject string body M
  • 在 XAML 中设置依赖项属性时,为什么会在运行时绕过 .NET 属性包装器?

    我正在阅读 Adam Nathan 的书 WPF 4 Unleashed 第 82 页有以下警告 在 XAML 中设置依赖属性时 NET 属性包装器会在运行时被绕过 虽然 XAML 编译器依赖于 编译时的属性包装器 WPF 调用底层 直接在
  • 线程独占数据:如何存储和访问?

    NET 中是否有可能将对象实例绑定到线程的当前执行上下文 这样在代码的任何部分我都可以做类似的事情CurrentThread MyObjectData DoOperation 并确保我访问特定于线程的数据 谢谢 你可以看一下线程静态属性 h
  • ASP.NET MVC - 临时要求除一页之外的整个站点授权的简单方法

    我正在建立一个混合了公共页面和会员专用页面的网站 登录系统按原样工作正常 不过 我想启动一个封闭的 仅限邀请的预览 并暂时要求访问者登录才能执行除欢迎页面之外的所有操作 目前我有 Authorize 某些操作方法的属性 我也可以向其他操作方
  • 检查 SSRS 报告自定义代码中的 Active Directory 组成员资格表单

    我正在构建 SQL Server Reporting Services SSRS 报告 查看报告的最终用户可以选择某些输入参数 在本例中为位置 用户可以选择的位置取决于 Active Directory 组成员身份 因此我尝试在自定义报告功
  • 标准 .NET 库是否依赖于任何非托管 DLL?

    只是出于好奇 NET 框架本身在访问标准库时是否依赖于任何非托管 DLL 例如 我调用方法 A 并且 在幕后 方法 A 或该方法 A 内的任何其他方法对非托管 DLL 执行 PInvoke 是的 Net 库大量使用非托管函数 库可以调用两种
  • 将集合项复制到 .NET 中的另一个集合

    在 NET VB 中 如何获取一个集合中的所有项目 并将它们添加到第二个集合中 而不丢失第二个集合中预先存在的项目 我正在寻找比这更有效的东西 For Each item As Host In hostCollection1 hostCol
  • SingleOrDefault异常处理

    我有一个示例代码 它调用 SingleOrDefault 方法 3 次 并在任何序列具有多个匹配元素时记录异常 如果我想检查这段代码的哪一部分抛出异常 问题就开始了 是否可以从此异常中获取一些有用的信息 例如谓词参数或集合类型以进行更详细的
  • 如何更改 Settings.settings 值的值

    我有一个简单的控制台应用程序 每天运行 由 Windows 任务计划程序调用 并且取决于每次应用程序运行时递增的值 为了保留这个值 我选择使用 Settings Settings 文件 因此 我有一个名为 RunNumber 和 Scope
  • 将参数传递给模板类型的 C# 泛型 new()

    添加到列表时 我试图通过其构造函数创建一个 T 类型的新对象 我收到编译错误 错误消息是 T 创建变量实例时无法提供参数 但我的类确实有一个构造函数参数 我怎样才能做到这一点 public static string GetAllItems
  • 更改 NHibernate Session.Save 命令超时

    我们有几个长时间运行的后端进程 其运行时间超过默认的 30 秒 我们的NHibernate版本是2 0 1 4000 Spring NET是1 2 0 20313 NHibernate 通过 Spring NET 进行配置
  • 使用 HttpClient 从 webapi 消费 xml

    我使用 WebClient 从 Restfull 服务 net web api 获取 Xml 对象 一切都运行良好 using WebClient client new WebClient client Encoding UTF8Encod
  • 如何让CQRS适应项目? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我发现了一个新术语 名叫CQRS 命令查询职责分离 http martinfowler com bliki CQRS html其中指出 概念模型
  • 无法转换类型为“NHibernate.Collection.Generic.PersistentGenericBag”的对象

    public List
  • 如何在WebBrowser控件中注入Javascript?

    我试过这个 string newScript textBox1 Text HtmlElement head browserCtrl Document GetElementsByTagName head 0 HtmlElement scrip
  • Activator.CreateInstance 缺少方法异常

    我在 C dll 中有一个类 其中包含以下类 public class RequiredTask Base BaseObject public string Name get set public string Description ge
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网

随机推荐

  • 像 Twitter 一样使用 @ 符号来识别用户

    我正在创建我自己的 Twitter 版本 我不知道如何让我的后端 php 脚本在输入的文本中获取 membername 包含多个 membername 例如 billy joseph tyrone kesha 消息 or billy 打电话
  • ADO.Net DataReader超时问题

    我正在使用 ADO Net C VSTS 2008 ADO Net 连接到 SQL Server 2008 Enterprise 我使用的模式 示例与此处提到的几乎相同 使用 ADO Net DataReader 逐个条目 行 检索数据 h
  • 如何打印文字反斜杠以在 pandas 数据框中获取 \pm ,从而在 python 的乳胶表中生成正确的误差线?

    我明明已经看到了如何打印单个反斜杠 https stackoverflow com questions 19095796 how to print a single backslash以及相关的重复项无法在 Python 中打印 单个反斜杠
  • Symfony getMethod() 与 getRealMethod()

    我知道 symfony api 解释说 getMethod 获取请求 预期 方法 而 getRealMethod 获取 真实 请求方法 但我无法弄清楚 预期 和 真实 是什么意思 谁能告诉我吗 谢谢 getRealMethod 返回real
  • 猫鼬没有活的联系

    我正在尝试使用 mongoosastic 将我的猫鼬方案插入到elasticsearch中 但它给了我 Error No Living connections message No Living connections 我的猫鼬架构 var
  • MySQL 子查询结果相乘

    我有一个数据表 看起来像 u id a id count weighted 1 1 17 0 0521472 1 2 80 0 245399 1 3 2 0 00613497 1 4 1 0 0030
  • HDFS挂载到本地目录失败

    我目前正在尝试将 hdfs 挂载到 ubuntu 计算机上的本地目录 我正在使用 hadoop fuse dfs 包 所以 我正在执行下面的命令 ubuntu dev hadoop fuse dfs dfs localhost 8020 m
  • 通过 Slack API 或传入 Webhook 发送消息时,是否可以使用文件路径而不是 url 作为“image_url”?

    假设我有以下块 我想通过传入 Webhook 发送到 Slack type image title type plain text text foo bar image url https api slack com img blocks
  • android Sdk 中的 FFT 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在处理android项目 我需要FFT算法来处理android加速度计数据 android sdk中
  • iPhone 应用程序操作按钮

    我需要在我的 iPhone 应用程序中添加一个操作按钮 单击该按钮时 需要弹出带有按钮的 UIActionSheet 谁能告诉我如何添加操作按钮 意味着 iPhone 应用程序有内置操作按钮吗 或者我们是否需要创建一个带有图像的新按钮 提前
  • 在 pinescript 中向警报添加变量

    我想在 pine 脚本中对 TradingView 中的多只股票使用相同的警报条件 问题是我不知道哪只股票触发了警报 除非我创建脚本的副本并为每个脚本提供自定义消息 我想要这样的东西 alertcondition someCondition
  • 相当于 Java 中的 C++ map.lower_bound

    我的问题很基本 但我自己找不到解决方案 我习惯用C 编写算法 在那里我经常使用std map结构 以及它提供的所有辅助方法 此方法将迭代器返回到映射的第一个元素 其中键 gt 作为参数给出的键 例子 map
  • 如何在解决方案中找到未使用的 NuGet 包?

    如何在解决方案中找到未使用的 NuGet 包 我有很多解决方案 其中有很多已安装的软件包 并且其中很大一部分被标记为有更新 但是 我担心可能会发生重大更改 因此我首先想通过删除任何未使用的软件包来进行清理 ReSharper 2016 1
  • 如何使用 Javascript、PHP 等将 html + CSS 页面转换为 pdf? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 但请记住我需要一个免费的图书馆它不会干扰我的网页的 CSS 并轻松转换我的网页的某些部分 我使用了 J
  • 经典 ASP 页面自动将 IE 8 中的 Quriks 模式设置为默认模式

    查看 HTML 时 IE 8 将默认文档模式设置为 IE8 标准 但它会在 ASP 页面上进入怪异模式 即使我使用 这并没有什么帮助 我应该怎么办 我要做的第一件事是将相同的输出放入 HTM 文件中并访问它 如果你得到不同的结果 那么确实发
  • terraform 支持数学舍入吗?

    是否可以在 terraform 字符串插值中舍入整数值 这有点像黑客 不使用 terraform 字符串插值 但是 您可以使用外部数据源 https www terraform io docs providers external data
  • SOAP HTTPS 测试获取类转换异常(字符串到整数)

    我正在使用 HTTPS 上的独立应用程序测试 SOAP 请求 我已经从 WSDL 创建了所需的类 使用 wsimport 我已经使用一些模拟值填充了对象值 令人惊讶的是 我的所有 XML 值都在 String 中 但我收到一个类转换异常 为
  • npm test 未检测到 jenkins 中新的测试文件更改

    Jenkins jest 和 CI 我使用 create react app 创建了一个 React APP 并使用 JEST 进行测试 我在创建的 app test js 文件中做了一些新的更改 并提交给 git hub 当我运行 npm
  • 捕获 Excel 数据透视表刷新事件

    是否有与数据透视表的数据刷新相对应的事件 我已经找到了 worksheet pivottableupdate 事件 但这似乎每次我更改过滤器或操作数据透视表时都会被调用 这在我的宏中非常频繁 我需要的只是捕获底层数据何时更新 有办法做到这一
  • 隐式运算符和类型转换器是否等效?

    在我看来 实现隐式运算符与 TypeConverter 似乎非常容易 因此我假设它们并不等效 因为框架中 TypeConverters 的流行 请参阅扩展 FrameworkElement 的任何内容 但为什么 创建 string gt o