Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据传递给另一个类中的布尔方法并处理响应_C# - Fatal编程技术网

C# 将数据传递给另一个类中的布尔方法并处理响应

C# 将数据传递给另一个类中的布尔方法并处理响应,c#,C#,我有一个布尔方法,我试图将一个十进制数传递给它,然后根据接收到的十进制数的一些条件返回一个布尔值。将值传递到Account.Deposit时,我得到错误: 非静态字段、方法或属性“Account.decimal”需要对象引用 此方法处理用户输入,然后将值传递到我的检查/操作方法: namespace BankApp { public class DepositLogic { public void DoDeposit() {

我有一个布尔方法,我试图将一个十进制数传递给它,然后根据接收到的十进制数的一些条件返回一个布尔值。将值传递到Account.Deposit时,我得到错误:

非静态字段、方法或属性“Account.decimal”需要对象引用

此方法处理用户输入,然后将值传递到我的检查/操作方法:

namespace BankApp
{
    public class DepositLogic
    {
        public void DoDeposit()
        {
            Console.Write("Please enter the amount you would like to deposit:");
            decimal DepositAmount;
            DepositAmount = Convert.ToDecimal(Console.ReadLine());
            bool response;
            response = Convert.ToBoolean(Account.Deposit(DepositAmount));
        }
    }
}
这是一种布尔方法,旨在向上述方法返回真/假值,并根据DoDeposit方法的输入更改平衡变量

我的目标是让用户输入存款金额,该金额将传递到我的帐户。存款方法,余额变量将被更新。然后返回一个布尔值,以在操作成功/不成功时提醒用户

编辑:

如果我在另一个类中实例化我的帐户,仍然可以访问它吗?这里是我的帐户目前实例化的地方

namespace BankApp
{
    public class Program
    {
        public static void Main()
        {
            Account account = new Account("Suriya's Account", 100000);
        }
    }
}
帐户是一个类。您需要创建一个实例来调用Deposit方法:


您当前正在尝试访问静态事务帐户中的存款方法。存款要使其生效,您必须将存款方法标记为静态。但是,由于您是从存款方法\u balance中访问字段,因此您更可能不希望使用静态方法。 在这种情况下,您必须首先实例化Account类,然后对实例化对象调用Deposit方法,如下所示:

public void DoDeposit()
{
    Console.Write("Please enter the amount you would like to deposit:");
    decimal DepositAmount;
    DepositAmount = Convert.ToDecimal(Console.ReadLine());
    bool response;

    var account = new Account();   // Instantiate object
    response = Convert.ToBoolean(account.Deposit(DepositAmount));  // Use instantiated object
}

如果您想进一步阅读C中的静态主题,请看。

顺便说一句,存款金额是一个局部变量,您应该使用camelCase来命名它noted,谢谢@谢谢你的回答,这很有道理。我已经编辑了我的帖子。如果我在单独的类中将account类实例化为DoDeposit所在的类,它仍然可以被访问吗?thanks@Xander不,您要么必须在共享位置实例化Account对象,比如全局变量,我不建议这样做!,或者,您可以将Account实例作为参数传递到逻辑类的构造函数中,或者作为DoDeposit方法的参数传递给逻辑类。
Account account = new Account();
response = Convert.ToBoolean(account.Deposit(DepositAmount));
public void DoDeposit()
{
    Console.Write("Please enter the amount you would like to deposit:");
    decimal DepositAmount;
    DepositAmount = Convert.ToDecimal(Console.ReadLine());
    bool response;

    var account = new Account();   // Instantiate object
    response = Convert.ToBoolean(account.Deposit(DepositAmount));  // Use instantiated object
}