2016-10-31 1 views
0

두 개 이상의 * .cs 파일에서 메서드/변수를 참조하는 데 대한 몇 가지 질문이 있습니다. 나는 비슷한 주제가 있다는 것을 알고 있지만, 아직도 어떤 일이 일어나고 있는지 이해하지 못합니다.C# (참조) couple * .cs 파일 연결

저는 Visual Studio Community 2015를 사용하고 있습니다.

그래서 여기에 문제가 있습니다. 나는 2 개의 파일을 가지고 있는데, 그 파일은 First.cs와 Second.cs이다. 하드 디스크의 완전히 다른 위치에 저장됩니다.

내부 First.cs 파일 :

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace Forum 
{ 
    class First 
    { 
     static void Main(string[] args) 
     { 
     } 

     public int GiveMeNumber() 
     { 
      return 5; 
     } 
    } 
} 

내부 Second.cs 파일 : 나는 액세스 할 방법

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace Forum 
{ 
    class Second 
    { 

     int number = // method from file First.cs 

    } 
} 

방법 INT위한 과제로 Second.cs에서 First.cs에서 GiveMeNumber() 번호? 컴파일러에게 그 파일들이 어디에 있는지 어떻게 알 수 있습니까?

어떤 도움을 주셔서 감사합니다. :)

+0

visual-studio의 경우 동일한 솔루션으로 지정해야하며 다른 프로젝트에있는 경우 참조를 추가해야합니다. 사실, 나는 당신의 진정한 질문을 이해하지 못한다. 반사? 또는...?? – Prisoner

+0

Windows Forms 응용 프로그램을 만들 때 그걸 발견했습니다. 보통 같은 부분의 코드를 복사하여 붙여 넣습니다. 별도의 스크립트로 나눠서이 메소드를 더 easly에 aces 할 수 있고 더 중요한 것은 모든 Form보다 수동으로 하나의 파일에서 메소드를 변경할 수 있다는 것입니다. – MrJW

답변

0

Alex는 그의 코멘트에서 말했다.

솔루션/프로젝트를 만들고 기존 항목을 추가하고 first.cs 및 second.cs를 탐색 할 수 있습니다. 공개 키워드 예를 들어

와 마크 두 파일 :

namespace Forum 
{ 
    public class Second 
    { 
     int number = // method from file First.cs 
    } 
} 

그런 다음 두 클래스는 서로 내에서 사용할 수 있습니다. 그래서 당신은 아마 당신이 첫 번째 클래스는 메인 메소드가 콘솔 응용 프로그램을 가지고 생각하기 때문에, 주위에 그것을 다른 방법을 수행 할

var first = new First(); 
var number = first.GiveMeNumber(); 

할 수 있습니다.

도움말>?

+0

실제로 작동 중입니다. 문제를 해결해 주셔서 감사합니다. 나는 전에 이것을 시도했지만 항상 어리석은 결과를 얻는다. 감사. – MrJW

+0

당신은 오신 것을 환영합니다! 답변 확인을 잊지 마세요;) –

+0

Windows Forms에서도 어떻게 동일한 작업을 수행합니까? – MrJW