![](/img/trans.png)
[英]How Do I Use A Variable In One Method If It Was Declared In A Different Method? C#
[英]C# How do I use a method in a different class
新手在這里,所以我需要讓用戶輸入日志的長度和直徑,我還需要使用一種方法並在不同的類中使用該方法。 我想我的用戶輸入部分是正確的,但是當我嘗試使用該方法時,它告訴我“當前上下文中不存在名稱‘Take’”。 我該如何解決?
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);
}
}
只是對你真正想做的事情的瘋狂猜測。 但我不確定。
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;
}
}
}
}
您應該公開類和方法以使其可訪問。 如果你想閱讀更多關於訪問修飾符的信息
所以你的代碼應該是這樣的:
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.