我的堆栈中的一个类中有以下类型的方法:
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“当前上下文中不存在”错误消息,其中包含生成方法存根的选项。
我确实为命名空间使用了正确的用法。知道为什么我不能从我的其他班级调用这个方法吗?
抱歉,由于我们公开发布的内容受到限制,我不能比这更具体。
答案 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
应该返回一个新日期,因此应该相应地更改方法签名。 (返回日期)