小编Ser*_*amP的帖子

VB.Net - 将Handler添加到未知类型的对象?

我正在尝试创建一个Sub,它可以获取一个对象并为其添加一堆事件处理程序,但该对象可以是所有具有这些事件的N种类型中的任何一种.我怎样才能做到这一点?如果我只是将它作为一个Object,如下所示,AddHandler会抱怨Object不存在该事件.

可以这样做吗?

Sub addHandlers(ByVal inputObject as object)
    AddHandler inputObject.MouseDown, AddressOf HandleClick
    AddHandler inputObject.MouseUp, AddressOf HandleMouseUp
End Sub
Run Code Online (Sandbox Code Playgroud)

编辑:这些对象中的每一个都是一个类的实例,它继承了已经拥有这些事件的不同类(通常是一个控件).

谢谢你的帮助,
山姆.

.net vb.net wpf events types

3
推荐指数
1
解决办法
4384
查看次数

替代基于消息区分异常?

我在 VB.NET 中工作 - C# 答案很好。

我正在构建一个系统来处理针对特定 XmlSchema 的 XML 验证。我的 XML 文档中的每个错误都有一个 SchemaException 实例,我可以从中获取错误的行号和位置以及消息。据我所知,确定特定错误(无效属性、缺少元素等)的唯一方法是读取不可靠的消息字符串,因为 MS 将来可能更改它并且消息被本地化。

我需要能够在不依赖 .Message 属性的情况下区分这些错误,以便显示我自己的自定义错误并在我的文本编辑器中突出显示错误。

区分这些的正确方法是什么?这一定是可能的,对吧?

更多信息:

异常的 LinePosition 属性并不总是报告我想要开始突出显示的位置 - 例如,所有与属性相关的异常都会报告属性的开始,如果这是问题。

SchemaException 提供了一个 SourceSchemaObject 属性,我可能可以用它来确定问题是来自元素还是属性,如果幸运的话,我可能会通过提取导致错误并以某种方式将它与 SourceSchemaObject 进行比较,但这感觉像是一个非常复杂和笨拙的解决方案 - 如果我能解决特定的错误,我可以通过一些正则表达式工作来解决它。

.net wpf xsd exception

0
推荐指数
1
解决办法
962
查看次数

标签 统计

.net ×2

wpf ×2

events ×1

exception ×1

types ×1

vb.net ×1

xsd ×1