类不被识别为返回/参数类型

时间:2012-07-12 11:28:14

标签: c#

我正在调用一个简单的方法来接收我的一个类的实例并返回另一个类实例。由于某种原因,它不能在方法声明中识别它们,但在方法中和调用方法之前它们都没有。无法弄清楚这个的原因。这是我的代码;

public ReceiptResponse DownloadReceipt(ReceiptRequest request)
    {
        ReceiptResponse call = null;
        ...
    }

ReceiptResponseReceiptRequest都会在public行中抛出错误,但由于某种原因,call的创建很好。这是一个类(两者几乎完全相同);

public class ReceiptRequest
{
    public String ClientID;
    public String PolNum;
    public String RecNum;  
}

我的错误

  

错误16类型或命名空间名称'ReceiptRequest'不能   发现(您是否缺少using指令或程序集引用?)

更新

我肯定有必要的使用声明,因为如果我将ReceiptResponse悬停在call行的创建上,那么它会在工具提示中显示使用的声明。

为什么会这样?

2 个答案:

答案 0 :(得分:1)

如果您的RequestReceipt类在另一个项目中,请检查两个项目的Target框架。是一样的吗?如果没有,请检查具有ReceiptRequest类的项目的目标框架是否为.NET Framework 4,另一个是.NET Framework 4 Client配置文件。

具有Target Framework 4 Client profile的项目无法引用具有Target Framework 4(= full)的其他项目。

答案 1 :(得分:0)

这些类是在不同的程序集中吗? 如果是这样,你需要将项目引用到另一个。

这些类是否在不同的命名空间中? 如果您需要在文件顶部添加using语句,或在声明变量时声明完全限定名称。

using my.name.space;
...
var receipt = new RequestReceipt();

var receipt = new my.name.space.RequestReceipt();