[英]C# How do I use a method in a different class
Newbie here, So I need to let the user input the length and diameter of the log also I need to use a method for it and use that method in a different class.新手在这里,所以我需要让用户输入日志的长度和直径,我还需要使用一种方法并在不同的类中使用该方法。 I think I got the user input part right, but when I try to use the method it tells me that "The name 'Take' does not exist in the current context".
我想我的用户输入部分是正确的,但是当我尝试使用该方法时,它告诉我“当前上下文中不存在名称‘Take’”。 How do I fix this?
我该如何解决?
Using System;
namespace Logger
{
class Loggers
{
private double LogsLength, LogsDiameter; //must be private
public Loggers(double LogsLengthValue, double LogsDiameterValue)
{
LogsLength = LogsLengthValue;
LogsDiameter = LogsDiameterValue;
}
public double TakeLogsLength() { return LogsLength; }
public double TakeLogsDiameter() { return LogsDiameter; }
static void PlaceValues(double LogsLengthValue, double LogsDiameterValue)
{
Loggers r;
r = new Loggers(LogsLengthValue, LogsDiameterValue);
Console.Write("Input the logs length in meters: ");
LogsLengthValue = double.Parse(Console.ReadLine());
Console.Write("\nInput logs diameter in centimeters: ");
LogsDiameterValue = double.Parse(Console.ReadLine());
}
}
class Program
{
static void Main(string[] args)
{
PlaceValues(LogsLengthValue, LogsDiameterValue);
}
}
just a wild guess about what you really wanted to do.只是对你真正想做的事情的疯狂猜测。 But I am not sure.
但我不确定。
using System;
namespace ConsoleApp4
{
namespace Logger
{
class Program
{
static void Main(string[] args)
{
UserInput.PlaceValues();
}
}
public class UserInput
{
public static void PlaceValues()
{
Console.Write("Input the logs length in meters: ");
var logsLength = double.Parse(Console.ReadLine());
Console.Write("\nInput logs diameter in centimeters: ");
var logsDiameter = double.Parse(Console.ReadLine());
var loggers = new Loggers(logsLength, logsDiameter);
}
}
public class Loggers
{
private double _logsLength;
private double _logsDiameter; //must be private
public Loggers(double logsLength, double logsDiameter)
{
_logsLength = logsLength;
_logsDiameter = logsDiameter;
}
public double GetLogsLength()
{
return _logsLength;
}
public double GetLogsDiameter()
{
return _logsDiameter;
}
}
}
}
You should make the class and method public to be reachable.您应该公开类和方法以使其可访问。 if you want to read more about access modifiers
如果你想阅读更多关于访问修饰符的信息
So your code should look like this:所以你的代码应该是这样的:
using System;
namespace Logger
{
public class Loggers
{
private double LogsLength, LogsDiameter; //must be private
public Loggers(double LogsLengthValue, double LogsDiameterValue)
{
LogsLength = LogsLengthValue;
LogsDiameter = LogsDiameterValue;
}
public double TakeLogsLength() { return LogsLength; }
public double TakeLogsDiameter() { return LogsDiameter; }
public static void PlaceValues(double LogsLengthValue, double LogsDiameterValue)
{
Loggers r;
r = new Loggers(LogsLengthValue, LogsDiameterValue);
Console.Write("Input the logs length in meters: ");
LogsLengthValue = double.Parse(Console.ReadLine());
Console.Write("\nInput logs diameter in centimeters: ");
LogsDiameterValue = double.Parse(Console.ReadLine());
}
}
public class Program
{
public static void Main(string[] args)
{
Loggers.PlaceValues(LogsLengthValue, LogsDiameterValue);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.