【发布时间】:2019-12-04 16:59:58
【问题描述】:
在我当前的应用程序中,虽然我已经能够实现所需的逻辑,但当我试图从主方法中删除内容并从不同的方法中使用它时,我真的被卡住了。
我的代码如下,
class Program
{
const string path = @"filePath";
static void Main(string[] args)
{
setUpValues();
}
private static void setUpValues()
{
var Content = JsonConvert.DeserializeObject<deploy>(File.ReadAllText(path));
List<Variable> variables = Content.Variables.ToList();
Scopes Scope = Content.ScopeValues;
string Version = null;
List<string> ListOfSelectedItems= new List<string>();
List<string> TempListOfSelectedItems = new List<string>();
List<string> Channels = new List<string>();
foreach (var item in variables)
{
if (item.Name.Equals("version"))
{
Version = item.Value;
}
if (item.Name.Equals("Selected"))
{
TempListOfSelectedItems.Add(item.Value);
}
}
Console.WriteLine("Version " + Version);
Console.WriteLine();
string SelectedItems= TempListOfSelectedItems[0];
ListOfSelectedItems = SelectedItems.Split(',').ToList();
Console.WriteLine();
Console.WriteLine("Selected Modules");
Console.WriteLine();
foreach (var item in ListOfSelectedItems)
{
Console.WriteLine(item);
}
foreach (var item in Scope.Channels)
{
Channels.Add(item.Name);
}
}
}
我希望能够从该方法之外访问变量字符串 Version、ListOfSelectedItems 列表和频道列表。我也想在另一个中使用这些。那么我怎样才能使这些全球可访问? 非常感谢您的帮助,因为我被困在这里
【问题讨论】:
-
使它们成为您班级的(静态)成员(如
path,但不是const)。 -
嗯,路径是一个常数,我想保持这种状态......知道如何访问 triring Version 、 ListOfSelectedItems 列表和频道列表吗? @RenéVogt
-
喜欢Path,不代表改变路径。路径随处可访问,您想要随处可访问的东西,因此以路径为例说明您想要做什么。 (但正如 Rene 所说,用静态替换 const)