我是C#的新手,所以请原谅这个笨拙的问题。我正在玩一个简单的XNA游戏演示。我有一个结构,希望可以在多个类中使用。定义如下:

PhotonType.cs

using System;

namespace ShipDemo
{
 public struct PhotonType {
        public Color tint;
 }
}


在同一文件夹/名称空间中的另一个文件Ship.cs中,我引用此结构:

namespace ShipDemo {
    public class Ship {
    //...
       private PhotonType photonType;
       //...
       public Ship(float x, float y, float ang, Boolean correctSound, PhotonType photonType) {
    //...
  }
}


这使我在对PhotonType的两个引用上都出现编译错误。


  错误1类型或名称空间名称
  找不到“ PhotonType”(是
  您错过了using指令或
  部件
  参考?)


我在这里做错了什么?

////

另外,C#文档说


  初始化一个错误
  结构中的实例字段。


但是,如果我想提供默认值怎么办?

我正在使用Visual Studio Ultimate 2010 Beta。

最佳答案

这两个文件是否在同一个项目中?如果您的命名空间分为2个项目,则需要在另一个项目中引用包含PhotonType的项目。

如果是这种情况,我会质疑设计,因为通常我们不会在一个以上的程序集中拆分同一名称空间。

关于c# - C#中的结构(找不到类型),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2193870/

10-11 02:12