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

时间:2013-04-03 12:53:20

标签: c#

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

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“当前上下文中不存在”错误消息,其中包含生成方法存根的选项。

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

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

1 个答案:

答案 0 :(得分:5)

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应该返回一个新日期,因此应该相应地更改方法签名。 (返回日期)