C# 通过属性扩展窗体的最简单方法?

C# 通过属性扩展窗体的最简单方法?,c#,.net,forms,C#,.net,Forms,我做了很多搜索,但没有什么真正帮助我。。。问题是: 我需要一个额外的财产,比如 public int FormResult() { get{ .... 问题是我是通过 Form f1 = new Forms.Form2(); f1.Show; ..... 因此,我不能将属性放在表单中,因为只有使用 Form2 f1 = new Forms.Form2(); 我需要的是通过该属性扩展整个表单类,或者你有更好的主意。。?我首先想到了普通的类扩展,但它无法访问类内部的Resultvari

我做了很多搜索,但没有什么真正帮助我。。。问题是: 我需要一个额外的财产,比如

public int FormResult()
{
   get{ ....
问题是我是通过

Form f1 = new Forms.Form2();
f1.Show;
.....
因此,我不能将属性放在表单中,因为只有使用

 Form2 f1 = new Forms.Form2();
我需要的是通过该属性扩展整个表单类,或者你有更好的主意。。?我首先想到了普通的类扩展,但它无法访问类内部的Resultvariable。 然后我想我应该创建一个从表单继承的新类,并添加该属性…就像通常一样。然后我会在我所有的表单上使用这个类,它应该可以工作——但是这就是VS告诉我我的访问不一致的地方,也就是说clsExtForm比Form2更难访问

这看起来像这样:

class clsExtForm : Form
{
    private int result;
    Public int FormResult()
    {
       Get{ return result; }
       Set{ result = value; }
    }
}
那我就用

    ClsExtForm f1 = new Forms.Form2();
并将表格2改为

    public partial class Form2 : clsExtForm
这就产生了上面的错误

解决了-我所缺少的是在上课前公开的clsExtForm,他们有正确的可访问性级别…抱歉…在德国的一大早: 为什么这样做不合适

我期待着你的回答! 谢谢你的帮助

您好,
Lorenz

你能发布整个表单子类吗?什么是clsExtForm?不太清楚你在哪里出错,也不清楚你到底在做什么。请阅读也许您想尝试使用扩展方法?没有任何理由不使用Form2。如果这能让你更快乐,就用var代替。为一个名为Form2的类型命名一个实例变量f1,这很糟糕。