C#中的结构(找不到类型)
我是C#的新手,所以请原谅这个不切实际的问题。我正在玩一个简单的XNA游戏演示。我有一个结构,我想对几个类可用。其定义如下: PhotonType.csC#中的结构(找不到类型),c#,struct,xna,C#,Struct,Xna,我是C#的新手,所以请原谅这个不切实际的问题。我正在玩一个简单的XNA游戏演示。我有一个结构,我想对几个类可用。其定义如下: PhotonType.cs using System; namespace ShipDemo { public struct PhotonType { public Color tint; } } using System; namespace ShipUtils { public struct PhotonType
using System;
namespace ShipDemo
{
public struct PhotonType {
public Color tint;
}
}
using System;
namespace ShipUtils
{
public struct PhotonType
{
public Color tint;
}
}
using ******.ShipUtils;
public class Ship
{
private PhotonType photonType;
public Ship(float x, float y, float ang, Boolean correctSound, PhotonType photonType)
}
在同一文件夹/命名空间中的另一个文件中,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版。是否包含包含PhotonType的命名空间?e、 g.通过“使用”
您是否包含包含PhotonType的命名空间?e、 g.通过“使用”
提示在您收到的错误消息中 。。。缺少使用指令 将
使用$Namespace$.ShipDemo
添加到要使用PhotonType类型的代码顶部
编辑:
两个文件位于同一命名空间中 在示例代码中,您在两个示例中都提到了
namespace ShipDemo…
。假设您使用的是不同的文件,这将是更多的麻烦比它的价值
尝试以下方法
PhotonType.cs
using System;
namespace ShipDemo
{
public struct PhotonType {
public Color tint;
}
}
using System;
namespace ShipUtils
{
public struct PhotonType
{
public Color tint;
}
}
using ******.ShipUtils;
public class Ship
{
private PhotonType photonType;
public Ship(float x, float y, float ang, Boolean correctSound, PhotonType photonType)
}
Ship.cs
using System;
namespace ShipDemo
{
public struct PhotonType {
public Color tint;
}
}
using System;
namespace ShipUtils
{
public struct PhotonType
{
public Color tint;
}
}
using ******.ShipUtils;
public class Ship
{
private PhotonType photonType;
public Ship(float x, float y, float ang, Boolean correctSound, PhotonType photonType)
}
提示在您收到的错误消息中 。。。缺少使用指令 将
使用$Namespace$.ShipDemo
添加到要使用PhotonType类型的代码顶部
编辑:
两个文件位于同一命名空间中 在示例代码中,您在两个示例中都提到了
namespace ShipDemo…
。假设您使用的是不同的文件,这将是更多的麻烦比它的价值
尝试以下方法
PhotonType.cs
using System;
namespace ShipDemo
{
public struct PhotonType {
public Color tint;
}
}
using System;
namespace ShipUtils
{
public struct PhotonType
{
public Color tint;
}
}
using ******.ShipUtils;
public class Ship
{
private PhotonType photonType;
public Ship(float x, float y, float ang, Boolean correctSound, PhotonType photonType)
}
Ship.cs
using System;
namespace ShipDemo
{
public struct PhotonType {
public Color tint;
}
}
using System;
namespace ShipUtils
{
public struct PhotonType
{
public Color tint;
}
}
using ******.ShipUtils;
public class Ship
{
private PhotonType photonType;
public Ship(float x, float y, float ang, Boolean correctSound, PhotonType photonType)
}
听起来你需要
using ShipDemo;
在Ship.cs文件的顶部。
或者确保您的Ship类包装在ShipDemo命名空间中:
namespace ShipDemo
{
public class Ship
{
//...
}
}
或者我们需要您发布更多代码供我们查看。听起来您需要
using ShipDemo;
在Ship.cs文件的顶部。
或者确保您的Ship类包装在ShipDemo命名空间中:
namespace ShipDemo
{
public class Ship
{
//...
}
}
或者我们需要您发布更多代码供我们查看。这两个文件是在同一个项目中吗?如果命名空间在两个项目之间拆分,则需要在另一个项目中引用包含PhotonType的项目
如果是这种情况,我会质疑设计,因为通常我们不会在多个程序集中拆分同一名称空间。这两个文件是在同一个项目中吗?如果命名空间在两个项目之间拆分,则需要在另一个项目中引用包含PhotonType的项目
如果是这种情况,我会质疑设计,因为通常我们不会在多个程序集中拆分同一名称空间。如果这是多目标XNA项目(Windows/XBox/Zune)的一部分。。。如果是,其中一个文件可能不包括在项目中。如果不是这种情况,您可能需要再次检查
PhotonType.cs
的构建操作是否设置为Compile
(如果这是多目标XNA项目(Windows/XBox/Zune)的一部分,则在单击解决方案资源管理器中的文件后,这是属性
窗格中的一个)…如果是,其中一个文件可能不包括在项目中。如果不是这种情况,您可能需要再次检查PhotonType.cs
的Build操作是否设置为Compile
(在解决方案资源管理器中单击文件后,这是属性
窗格中的一个。您的假设不正确。请停止假设
绝对确保您已经编译并且正在使用最新编译版本的程序集
- 清理解决方案。重新编译解决方案。再次测试
如果Ship
和PhotonType
位于两个不同的组件中(即项目)
- 清理并重新编译
- 确保包含
装运
的程序集引用包含PhotonType的项目。
- 引用另一个项目而不是该项目的DLL是一个常见的错误
- 这会导致您引用项目的旧版本,而不是最新版本
- 删除对
PhotonType
dll的任何引用,并重新添加对其项目的引用
如果它们在同一溶液中
- 清理并重新编译
- 确保编译了
PhotonType
文件
- 在项目浏览器中右键单击
PhotonType.cs
,然后选择属性
- 构建操作应该是
Compile
如果你仍然有这个问题,你的项目可能会一团糟
- 它可能有noobitis,我们刚开始的时候都经历过
- 创建新的解决方案,向其中添加新项目,并为
Ship
和PhotonType
- 查看是否所有内容都正确编译。将此新解决方案与旧解决方案进行比较,看看有什么不同
您可能在这一过程中做了一些奇怪的事情。如果没有看到您的项目,很难说清楚到底是什么。如果这些都不起作用,我建议将您的项目压缩并上传到某个地方。通过查看项目,可能需要一分钟的时间来查看问题所在。您的假设不正确。停止假设
绝对确保您已经编译并且正在使用最新编译版本的程序集
- 清洗溶液。重新编译溶质