我有一个public
类,需要在public static
类中使用其中一个变量。这可能吗?如果是这样的话:我怎么称呼它?
public class xmlData
{
public string testing;
}
public static class fileUpload
{
public static string uploadFile(string file)
// I want to use the testing here
}
答案 0 :(得分:3)
您可以将xmlData
的实例注入方法中。像这样:
public static string uploadFile(xmlData data, string file)
现在在该方法中你可以这样做:
data.testing ...
答案 1 :(得分:1)
无法从静态方法访问实例字段。您可以将值作为参数传递:
public static string uploadFile(string file, string testing)
或者将对象传递给方法:
public static string uploadFile(string file, xmlData data)
{ string testing = data.testing; }
答案 2 :(得分:0)
当然有可能。你把它传递进来。
string myString = fileUpload.uploadFile(testing);
答案 3 :(得分:0)
我能想到的所有方法都在一个地方:
public class xmlData
{
public string testing;
// part of "first option"
public void RunStatic() {
fileUpload.uploadFile(testing);
}
}
public static class fileUpload
{
// used by "option 1, 3"
public static string uploadFile(string testing) {
var firstOption = testing;
}
// used by "option 2"
public static string uploadFile(xmlData myObject, string file) {
var secondOption = myObject.testing;
}
}
public class Program {
public static void Main() {
var objectExample = new xmlData();
// first example
objectExample.RunStatic();
// second example
fileUpload.uploadFile(objectExample, "");
// third example
fileUpload.uploadFile(objectExample.testing);
}
}
所有这些都有效,应该有希望回答这个问题。一个不同的问题可能是直接暴露实例变量或是否应该使用属性是一个好主意。 HM。