0
CircuitBoard vBoard = this; 
// Find the desired circuit shape
CircuitShape vShape = vBoard.GetComponent(vId);

在上面的陈述中,是在一定的时间内vBoard抛出。null任何的想法?

请帮忙。

先感谢您....

更多代码..这是一个公共功能

class CircuitBoard :Canvas
{
    public void Move(string iBoardId, string iCircuitShapeId, double iXCordinate, double iYCordinate)
        {
          CircuitBoard vBoard = this;

    // secutity check..
          if (null != vBoard)
          {
            string vId = PCBFactory.GetUniqueTag(iCircuitShapeId, vBoard);
            // Find the desired circuit shape
            CircuitShape vShape = vBoard.GetComponent(vId);
            if (vShape != null)
            {
               // do something...
            }
          }
        }
}
4

1 回答 1

2

你为什么要首先分配this一些东西?为什么不试试:

class CircuitBoard :Canvas
{
    public void Move(string iBoardId, string iCircuitShapeId, double iXCordinate, double iYCordinate)
    {
        string vId = PCBFactory.GetUniqueTag(iCircuitShapeId, vBoard);
        CircuitShape vShape = this.GetComponent(vId);
        if (vShape != null)
        {
           // do something...
        }
      }
    }
}

根本不需要定义 vBoard。

于 2013-02-11T07:04:27.313 回答