簡體   English   中英

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM