1

所以这个特定的话题已经被打死了;但显然我的迭代要么不是选择的方法,要么不适合实施。

目标是创建一个 Windows 窗体和一个 Web 窗体。这两种形式;在单独的类中设置属性。然后其他类引用容器;这样,随着界面的变化,功能将发生变化,而无需大量重新编码。

Windows 窗体 ---> 容器 <--- Web 窗体容器 --> 由这些引用:1 类、2 类、3 类

我是这样处理的:形式:

private Some.Reference.ToClass.Container _container;
public void Method(Some.Reference.ToClass.Container Container)
{
          _container = Container;
}

private void button_click(object sender, EventArgs e)
{
          _container.Name = textbox.Text (or some other component)
}

类:“容器”

public Name { get; set; }

要参考的类别或表格:

Class WhateverName
{
       private string REFERENCE;

       private Some.Reference.ToClass.Container _container;
       public void Method(Some.Reference.ToClass.Container Container)
       {
                _container = Container;
       }

       public void NewMethod()
       {
              REFERENCE = _container.Name;
       }
}

它一直没有设置;它声明它是一个空对象。我错过了什么?任何帮助,将不胜感激。甚至是一个很好的教程供我比较学习;或者找到它为什么不起作用也会很好。

4

1 回答 1

2

根据提供的详细信息;包括空值的问题。我设置了一个构造函数以根据更改自动初始化。然后只是添加了一些空引用检查。

此分辨率的示例:

public class One
{

    // declared:
    private.some.Reference.ToSomeClass _container;

    One(ToSomeClass container)
    {
          _container = container;
    }

    private void button_click(object sender, EventArgs e)
    {
          if(_container != null)
          {
               _container.Name = textbox.Text (or some other component)
          }
    }
}

然后在另一个班级;它引用了该属性;设置它。因此,为了避免它失败导致尚未分配值或尚未创建实例,只需添加空引用验证。

于 2012-12-20T21:16:42.670 回答