C# 将变量从公共类传递到公共静态类
我有一个C# 将变量从公共类传递到公共静态类,c#,C#,我有一个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 } 将xmlData的一个实例注入该方法。
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
}
将
xmlData
的一个实例注入该方法。像这样:
public static string uploadFile(xmlData data, string file)
现在,在该方法中,您可以执行以下操作:
data.testing ...
将
xmlData
的一个实例注入该方法。像这样:
public static string uploadFile(xmlData data, string file)
现在,在该方法中,您可以执行以下操作:
data.testing ...
无法从静态方法访问实例字段。可以将值作为参数传递:
public static string uploadFile(string file, string testing)
或将对象传递到方法:
public static string uploadFile(string file, xmlData data)
{ string testing = data.testing; }
无法从静态方法访问实例字段。可以将值作为参数传递:
public static string uploadFile(string file, string testing)
或将对象传递到方法:
public static string uploadFile(string file, xmlData data)
{ string testing = data.testing; }
当然有可能。你只要把它递过来就行了
string myString = fileUpload.uploadFile(testing);
当然有可能。你只要把它递过来就行了
string myString = fileUpload.uploadFile(testing);
我能想到的所有方法都集中在一个地方:
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);
}
}
所有这些都将起作用,并有望回答这个问题。另一个问题可能是直接公开实例变量是否是一个好主意,还是应该使用属性。嗯。我能想到的所有方法都集中在一个地方:
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);
}
}
所有这些都将起作用,并有望回答这个问题。另一个问题可能是直接公开实例变量是否是一个好主意,还是应该使用属性。嗯