为什么它总是让我回归0?

时间:2016-03-31 06:41:22

标签: c#

我有一个问题,我想获得另一个类中变量的值,但我总是得到0值。你能解释一下我是如何得到正确值的吗?如果代码逻辑也正确,请。

class BranchDAO : BranchInterface
{
    UserManager userManager = new UserDAO();
    int BranchID;

    public void insertBranch(Branch branch, User user)
    {
        var db = new AdventureWorksEntities();
        int IDForNewBranch = 1;
        int IDUser = user.intID;

        try
        {
            IDForNewBranch = db.tabBranchs.Max(u => u.intBranchID);
            IDForNewBranch++;
        }    
        catch {
            IDForNewBranch = 1;
        }

        try
        {
            //  code...
            this.BranchID = IDForNewBranch; //IDForNewBranch never equals to 0
            //  code...
        }
        catch (Exception eee)
        {
            Console.Write(eee);
        }
    }
}


public int getBranchID()
{
    return BranchID;
}

BranchDAO类:

{{1}}

2 个答案:

答案 0 :(得分:0)

查看代码,您永远不会为BranchID分配值,因此它将为零。你期望它是什么,你是如何期望价值改变的?你在打电话

branchInterf.insertBranch(branch,user);

但是代码清单中没有任何内容可以解释它的作用或者您希望如何改变BranchID的值

答案 1 :(得分:0)

  

branchInterf.insertBranch(分支,用户);

什么是branchInterf?您应该执行以下操作:

BranchDAO bdao = new BranchDAO();
bdao.insertBranch(branch,user);
branch.intBranchID = bdao.getBranchID();

您正在错误的对象上调用insertBranch,因此没有设置分支ID的值。