- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将一个 dll 反编译为 C#。反编译器生成的项目之一包含 1000 多行错误行,如下所示:
this.pictureBox1.BeginInit();
Error 385 'System.Windows.Forms.PictureBox' does not contain a definition for 'BeginInit' and no extension method 'BeginInit' accepting a first argument of type 'System.Windows.Forms.PictureBox' could be found (are you missing a using directive or an assembly reference?)
常规 Picturebox 没有 BeginInit() 方法。我只是注释掉了以下几行:
//this.pictureBox1.BeginInit();
然后我检查了另一个反编译器的输出,它看起来像下面,VS 编译器没有以前的错误:
((ISupportInitialize)this.pictureBox1).BeginInit();
由于崩溃,我无法使用第二个反编译器一次导出所有源代码。现在我不确定我必须做什么。由于需要先清除其他错误,我无法运行和调试项目。我的选择是:
最后一个选项对我来说似乎最简单。我可以创建 BeginInit() 扩展方法吗,它会毫无问题地工作吗?我如何实现和使用 ISupportInitialize?
最佳答案
试试这个:
public static class PictureBoxExtension {
public static void BeginInit(this PictureBox pb){
((ISupportInitialize)pb).BeginInit();
}
}
或者更好的是,您可以对所有支持 ISupportInitialize
的控件进行尝试。这对正常访问是隐藏的,因为它是显式实现的,因此我们可以使用此扩展来公开它(无需强制转换):
public static class SupportInitExtension {
public static void BeginInit<T>(this T c) where T : ISupportInitialize {
c.BeginInit();
}
}
关于c# - 没有定义或扩展方法 - ISupportInitialize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20035854/
我正在将一个 dll 反编译为 C#。反编译器生成的项目之一包含 1000 多行错误行,如下所示: this.pictureBox1.BeginInit(); Error 385 'System.Wi
我在 ISupportInitialize 上卡住了。 我们使用继承自 System.Windows.Form.BindingSource 的自定义类。现在我们需要增强继承类的 ISupportIni
我正在使用 Newtonsoft json.net 序列化器将我的一些模型序列化为 json。其中一些很复杂,包含循环引用。由于循环引用不可序列化,因此需要通过设置 ReferenceLoopHand
我正在使用 MongoDB C# 驱动程序与 Mongo Atlas 实例通信。我正在重构一些文档的架构,我想使用 ISupportInitilize 来读取一些额外的元素并将它们转换为新的预期架构。
有人可以解释一下使用 ISupportInitialize 接口(interface)方法(BeginInit/EndInit)和使用 SuspendLayout/ResumeLayout 之间的区别
在 VS2010 中,我有一个针对 .NET Framework 4.0 的项目,然后不得不恢复到目标 v. 3.5。一旦发生这种情况,我拥有的 SplitContainer 对象将不会显示并且实际上
我是一名优秀的程序员,十分优秀!