C# 设置文件的路径
我想使用此方法创建一个文件。然而,var只能在方法中使用。如何将路径的名称转换为类内其他方法访问的类变量 例如,在下面的代码中,“labelPath”不在setPaths()方法的var labelPath范围内。我还有其他使用“path”和“objectPath”的方法,这些变量不在这些方法的范围内 任何帮助都将不胜感激C# 设置文件的路径,c#,path,C#,Path,我想使用此方法创建一个文件。然而,var只能在方法中使用。如何将路径的名称转换为类内其他方法访问的类变量 例如,在下面的代码中,“labelPath”不在setPaths()方法的var labelPath范围内。我还有其他使用“path”和“objectPath”的方法,这些变量不在这些方法的范围内 任何帮助都将不胜感激 public Form2() { InitializeComponent(); setPaths(); cur
public Form2()
{
InitializeComponent();
setPaths();
current = this;
instantiateNumUpDown();
System.IO.File.WriteAllText(labelPath, " ");
}
public static void setPaths()
{
var systemPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
var path = Path.Combine(systemPath, "TextDynamic.txt");
var labelPath = Path.Combine(systemPath, "currentLabel.txt");
var objectPath = Path.Combine(systemPath, "object.txt");
}
您不能这样做,因为var本身不是一个类型,它获取赋值右侧的值的类型 相反,您可以将变量类型定义为string并在类下声明
public class A
{
private static string systemPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
private string path = Path.Combine(systemPath, "TextDynamic.txt");
private string labelPath = Path.Combine(systemPath, "currentLabel.txt");
private string objectPath = Path.Combine(systemPath, "object.txt");
}
试试这个:
public class Form2
{
private static string labelPath;
private static string objectPath;
private static string path;
public Form2()
{
InitializeComponent();
setPaths();
current = this;
instantiateNumUpDown();
System.IO.File.WriteAllText(Form2.labelPath, " ");
}
public static void setPaths()
{
var systemPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
path = Path.Combine(systemPath, "TextDynamic.txt");
labelPath = Path.Combine(systemPath, "currentLabel.txt");
objectPath = Path.Combine(systemPath, "object.txt");
}
}
由于变量“path”“labelPath”“objectPath”完全是From2的构造方法,要修复它,应执行以下操作:
public Form2()
{
InitializeComponent();
string path = string.empty;
string labelPath = string.empty;
string objectPath = string.empty;
setPaths(ref path, ref labelPath, ref objectPath);
current = this;
instantiateNumUpDown();
System.IO.File.WriteAllText(labelPath, " ");
}
public static void setPaths(ref string path, ref string labelPath, ref string objectPath)
{
var systemPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
path = Path.Combine(systemPath, "TextDynamic.txt");
labelPath = Path.Combine(systemPath, "currentLabel.txt");
objectPath = Path.Combine(systemPath, "object.txt");
}
只需将
var
转换为string