c#错误在当前上下文中不存在

本文关键字:上下文 不存在 错误 | 更新日期: 2023-09-27 18:07:09

我在堆栈中的一个类中有以下类型的方法:

public void CalculateNewDate(DateTime newDate)
    {
      //datetimecalculations
    }

我试图从堆栈中的不同类调用该方法,并传入newDate参数以获得datetimecalculations的结果。

在项目中的新类中,我这样调用它:

Public void methodName(param,param)
{ foreach loop(param)
    {If item != null)
     DateTime newDate = item.Date.value;
      {
        item.item.date = CalculateNewDate(newDate);
      }
    }
}

我正在获得"名称"CalculateNewDate"不存在于当前上下文中"错误消息,其中包含生成方法存根的选项。

我确实对命名空间有正确的用法。知道为什么我不能从我的其他类调用这个方法吗?

很抱歉,由于我们对公开发布内容的限制,我不能比这更具体。

c#错误在当前上下文中不存在

c#是一种面向对象的语言,主要的构建块是类。
如果不创建类的实例,就不能调用类中定义的方法。
(除非你将方法声明为静态,但这不是真正的问题)

假设你有这个类

public class AClassOfMine
{
    public DateTime CalculateNewDate(DateTime newDate)
    {
      //datetimecalculations
      return calculatedDate;
    }
}

如果你想使用这个方法你需要一个该类的实例

public void methodName(param,param)
{ 
    foreach loop(param)
    {
        If (item != null)
        {
            DateTime newDate = item.Date.value;
            AClassOfMine anInstance = new AClassOfMine();
            item.item.date = anInstance.CalculateNewDate(newDate);
        }
    }
}

当然,方法CalculateNewDate应该返回一个新的日期,所以你的方法签名应该相应地改变。(返回日期)