-2

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

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”的错误消息,其中包含生成方法存根的选项。

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

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

4

1 回答 1

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

于 2013-04-03T12:56:59.043 回答