不包含定义或扩展方法

本文关键字:扩展 方法 定义 包含 | 更新日期: 2023-09-27 18:10:59

当我尝试构建时,我得到了下一个错误:

不包含定义或扩展方法

我有一个这样的类:

[Serializable]    
public class JobFile
{
    private FileInfo mFileInfo;
    private string mJobNumber = string.Empty;
    private string mBaseJobNumber = string.Empty;
    private Guid mDocumentTytpeid = Guid.Empty;
    public string DocumentTypeDescription
    {
        get
        {
            string description;   
            DocumentType DocType;
            DocType = DocumentType.GetDocType(DocumentTypeCode);          
            if (DocType.Code == null)                    
                description = "Unknown";
            else                  
                description = DocType.Description;                   
            return description;
        }
    }
    public Guid DocumentTypeID
    {
        get
        {              
            DocumentType DocType;
            DocType = DocumentType.GetDocType(DocumentTypeCode);
            if (DocType.Code == null)
                mDocumentTytpeid = Guid.Empty;                  
            else
                mDocumentTytpeid = DocType.Id;
            return mDocumentTytpeid;
        }
    }

现在我试图在我的其他类中获得Documenttypeid的值,如下所示:

foreach (FileInfo fi in files)
{
    JobFile jf = null;
    jf = new JobFile(ref fi);
    f.DocumentTypeId = jf.DocumentTypeID; //<-- error is here
}

有谁知道什么可能是错误的,如何解决它?谢谢。

不包含定义或扩展方法

错误信息非常清楚哪里出了问题。您正在尝试使用一个不存在的属性,并查看错误是如何在这一行发生的:

f.DocumentTypeId = jf.DocumentTypeID;

只能是以下两种情况之一:

  1. f不存在
  2. f.DocumentTypeId不存在
  3. jf.DocumentTypeID不存在

老实说,我会检查以确保f.DocumentTypeId不应该是f.DocumentTypeID。c#对这样的事情很挑剔,像这样的一个小错误就会导致你收到的错误。

问题出在f.DocumentTypeId

假设它也是一个JobFile,它是f.DocumentTypeID(注意ID而不是ID)。c#区分大小写。而且,只有get属性访问器,没有set


如果f是其他类型,请显示代码