2017-10-05 2 views
-3

내가 만든이 클래스 라이브러리가 있습니다. 그리고 라이브러리를 콘솔 애플리케이션으로 작업하게하는 문제에 직면하고 있습니다. 이것은 내가 작업하고있는 기본 숙제 일 뿐이지 만 어디서 잘못 될 지 모릅니다.C# 클래스 라이브러리 및 콘솔 응용 프로그램

클래스 라이브러리 :

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

namespace Test2 
{ 
    public class Test 
    { 
     public static string GetData(String prompt) 
    { 
     Console.WriteLine(prompt); 
     return Console.ReadLine(); 
    } 
    public static int GetInt() 
    { 
     return Convert.ToInt32(GetData("Enter an interger")); 
    } 
    public static void put(String output) 

    { 
     Console.WriteLine(output); 
    } 
    public static void put(String output, String heading) 
    { 
     put(heading + '\n' + output); 
    } 
    public static void Main(String[] args) 
    { 
     int x = GetInt(); 
     int y = GetInt(); 
     if (x > 0 && y > 0) put(String.Format("Sum:{0}", x + y)); 
    } 
    } 
} 

콘솔 응용 프로그램 : 나는 내가 가진 생각

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

    namespace ConsoleApp1 
    { 
    class Program 
    { 
     static void Main(string[] args) 
     { 
     Test myTest = new Test(); 
     Test.GetData(prompt); 
      } 
     } 
    } 

내 주요 문제는 콘솔 응용 프로그램에서 실행하는 방법을 호출 여기 내 파일입니다. 아무리 많은 독서를해도 나는 내가 뭘 잘못하고 있는지 알 수 없습니다.

+0

이제 문제가 무엇입니까? –

+0

내 주요 문제는 내 클래스 응용 프로그램에서 시작하기 위해 클래스 라이브러리에서 만든 내 메서드를 가져 오려고합니다. –

답변

1
  1. 클래스 라이브러리에는 Main 메서드가 필요하지 않습니다. 콘솔 응용 프로그램의 Main 메서드는 응용 프로그램의 진입 점입니다.

  2. 클래스 라이브러리에서 정의한 Main 메서드의 기능이 전체 응용 프로그램에 대해 구현하려고하는 기능인 경우 해당 기능을 콘솔 응용 프로그램의 Main 메서드로 옮기는 것이 좋습니다.

그래서 당신을 위해 내 솔루션이 자신의 메인 방법이가하는 것입니다 당신이 유형 테스트의 객체를 인스턴스화 할 필요가 없습니다

  • 당신은 클래스 라이브러리 정적의 메소드를했습니다 콘솔 응용 프로그램 :

    int x = Test.GetInt(); 
    int y = Test.GetInt(); 
    if (x > 0 && y > 0) Test.put(String.Format("Sum:{0}", x + y));   
    Console.Read(); 
    

    내가 여기에 정적 클래스 및 정적 클래스 멤버에 독서 제안 : https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members

    D를 정적 클래스는 단지 입력 매개 변수에 작동하고 필요 없어 방법의 설정을위한 편리한 용기로 사용할 수 있습니다

    : 난 항상 위의 링크에서이 따옴표로 돌아와 정적 클래스를 만들 eciding 을 얻거나 내부 인스턴스 필드를 설정하십시오.

    또한 테스트 클래스의 이름을 변경하는 것도 고려해 볼 수 있습니다. 이와 같은 작은 테스트 응용 프로그램에서도 의미가있는 잘 정의 된 이름을 사용하는 것이 유용하다는 것을 알게되었습니다. 더 큰 응용 프로그램에서 자동으로 수행하도록하는 것이 좋습니다.

    마지막으로 행운을 빕니다!

  • 관련 문제