2013-12-17 4 views
0

나는 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 
} 

답변

3

xmlData의 인스턴스를 메소드에 삽입합니다. 이처럼 :

public static string uploadFile(xmlData data, string file) 

지금 그 방법 내에서이 작업을 수행 할 수 있습니다 정적 메서드 수없는에서

data.testing ... 
+0

감사합니다! 그런 간단한 해결책 – SlopTonio

1

는 인스턴스 필드에 액세스 할 수 있습니다. 당신은 매개 변수로 값을 전달할 수 있습니다

public static string uploadFile(string file, string testing) 

또는 패스 객체 방법으로 : 물론

public static string uploadFile(string file, xmlData data) 
{ string testing = data.testing; } 
0

이 가능합니다. 당신은 단지 그것을 통과

나는 하나 개의 자리에 생각할 수있는 방법
string myString = fileUpload.uploadFile(testing); 
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); 
    } 
} 

이 모든이 작동 잘하면 질문에 대답해야합니다. 다른 질문은 인스턴스 변수를 직접 노출하거나 속성을 사용해야하는 좋은 아이디어인지 여부입니다. 흠.