Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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#,如果标题有点不寻常或错误,我很抱歉,我不确定该怎么问这个问题。请提供编辑或更改,如果是 我正在努力做到这一点: private class Products { public Status { // set status to `Active`, `Deleted` or `Suspended` for an instance of Products. // } } 我不知道如何编写代码,以便调用Products.Status.Active,然后将

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

我正在努力做到这一点:

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

我不知道如何编写代码,以便调用
Products.Status.Active
,然后将该值设置为
MyAccount
。其他两个值将是
挂起
已删除

您需要将状态设置为枚举

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,只需将枚举嵌套在TaskClass中即可

TaskClass.Status
是枚举吗?我不确定我是否有你的问题…你的问题不是很清楚。您正在静态地调用一个私有实例方法。也许,如果你对你所寻找的东西进行伪编码,我们可以将其改编成可行的东西。你为什么要尝试设置一个静态类属性?如果您这样做,帐户的所有实例将包含相同的状态。你能澄清一下你的问题吗?我真的很抱歉,我不得不承认我不知道我在这里说什么。我希望能够将
状态设置为以下三项之一:
活动
暂停
删除
。也许这是
TaskClass
方法的一个属性,但我真的不知道。例如,取HttpRequestCachePolicy noCachePolicy=newhttprequestcachepolicy(HttpRequestCacheLevel.NoCacheNoStore)作为一个例子…是的,这是我的代码。如果很难读,我很抱歉。我正在努力写下我想要的东西,这正是我想要的。抱歉,这个问题太糟糕了,谢谢你的回答。@NickBull你的问题是你试图使用一些你甚至不知道的特定功能,而你没有告诉我们你使用它的目的。我现在知道了,我编辑了这个问题,所以如果有人在寻找类似问题的答案时偶然发现这个问题,人们会更容易理解。今天才知道房地产的真正威力!为你问得不好道歉question@NickBull你的问题不在于你告诉我们什么。相反,这是你没有告诉我们的:你试图解决的实际(现实世界)问题是什么?是的,我开始明白问题在哪里,我是如何问这个问题的。写我自己不懂的代码不会让别人理解。我希望一个类有一个可以设置或获取的属性,可以有三个动态值;活动、暂停或删除。这不是生产代码-这是我自己的理解,所以没有目的。我对C#并不陌生,但我既没有从书本上学到,也没有人教我。这给我的理解留下了很大的空白。这是我想知道一段时间的事情。