将实例属性设置为静态属性

时间:2013-10-22 15:50:00

标签: c#

如果标题有点不寻常或错误,我很抱歉,我不确定如何问这个问题。如果是,请提供编辑或更改。

我正在努力实现这个目标:

private class Products
{
    public Status 
    { 
        // set status to `Active`, `Deleted` or `Suspended` for an instance of Products. // 
    }
}

我不知道怎么做的代码是允许我调用Products.Status.Active的代码,然后将该值设置为MyAccount。其他两个值为SuspendedDeleted

1 个答案:

答案 0 :(得分:1)

您需要将状态设为枚举

public enum Status
{
    Active = 1,
    Suspended = 2,
    Deleted = 3
}

您希望将ChangeStatus实现为静态

public class TaskClass
{
    public static ChangeStatus(Accounts.Account a, MyTask t, Status s)
    {...}
}

private void Main() {
    Accounts.Account account = new Accounts.Account();
    TaskClass.Task task = new TaskClass.Task();

    TaskClass.ChangeStatus(account, task, Status.Active);
}

PS如果你需要将它命名为TaskClass.Status而不是Status,只需将enum嵌套在TaskClass中。