다른 메서드에서 클래스 메서드를 호출하는 방법이 있습니까?

펜리스 발렌

저는 초심자이고 학교 숙제를하고 있는데 여러 권의 책을 만들어서 목록에 넣은 다음 내 수업의 방법을 사용하여 다른 기능에서 목록을 인쇄하고 싶습니다.

이것은 나의 수업 목표입니다

class Knjiga
{
    public string Naslov;
    public string Avtor;
    public int StStrani;
    public int LetoIzdaje;
    public bool NaVoljo;


    public Knjiga(string aNaslov, string aAvtor, int aStStrani, int aLetoIzdaje, bool aNavoljo)
    {
        Naslov = aNaslov;
        Avtor = aAvtor;
        StStrani = aStStrani;
        LetoIzdaje = aLetoIzdaje;
        NaVoljo = aNavoljo;
    }
    public void Izpisi()
    {
        Console.WriteLine(Naslov + ", " + Avtor + ", " + LetoIzdaje);

    }

이것은 내 메인에 있습니다.

static void Main(string[] args)
    {

        Knjiga knjiga1 = new Knjiga("East of Eden", "John Steinbeck", 601, 1952, true);
        Knjiga knjiga2 = new Knjiga("From here to eternity", "James Jones", 861, 1951, true);
        Knjiga knjiga3 = new Knjiga("The Lord of the Rings", "J.R.R. Tolkien", 1200, 1954, true);

        List<Knjiga> knjigaList = new List<Knjiga>
        {
            knjiga1, knjiga2, knjiga3
        };


        foreach (var i in knjigaList)
           i.Izpisi();    //THIS ONE WORKS

        Test(knjigaList);

        Console.ReadLine();
    }

이것은 나의 다른 테스트 기능입니다

static void Test<T>(List<T> test)
        {
            foreach (var i in test)
                i.Izpisi(); // THIS ONE CAN'T ACCESS THE METHOD

main ()에서 foreach를 사용하면 메서드가 작동하지만 주 메서드 외부에 목록을 전달하려고하면 더 이상 클래스 메서드를 호출 할 수 없습니다. "T"에 "Izpisi"에 대한 정의가 포함되어 있지 않으며 "T"유형의 첫 번째 인수를 허용하는 액세스 가능한 확장 메서드 "Izpisi"를 찾을 수 없습니다. 여기서 무엇을 할 수 있습니까?

최고 두 연필

이 컴파일을 만드는 데는 몇 가지 방법이 있지만 왜 이런 식으로 수행하는지 다시 한 번 살펴볼 수 있습니다.

주석에서 말했듯이 다음 목록을 지정할 수 있습니다 Knjiga.

static void Test(List<Knjiga> test)
{
    foreach (var i in test)
        i.Izpisi();
}

다음과 같이 조건 T을 지정할 수도 있습니다 Knjiga.

static void Test<T>(List<T> test) where T : Knjiga
{
    foreach (var i in test)
        i.Izpisi();
}

그러나 다시 말하지만 두 번째는 하나만 있기 때문에 실제로 의미가 없습니다 Kjniga. 당신은 필요합니까 interface; 상속 구조가 있습니까?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

루비의 다른 클래스에서 메서드를 호출 할 수있는 방법이 있습니까?

분류에서Dev

다른 클래스에서 get 메서드를 호출하는 방법은 무엇입니까?

분류에서Dev

클래스에서 다른 함수 (메서드)를 호출하는 방법은 무엇입니까?

분류에서Dev

다른 클래스에서 invalidate () 메서드를 호출하는 방법은 무엇입니까?

분류에서Dev

다른 클래스에서 메서드를 호출하는 방법은 무엇입니까?

분류에서Dev

다른 클래스에서 @selector 메서드를 호출하는 방법

분류에서Dev

다른 클래스에서 void 메서드를 호출하는 방법

분류에서Dev

C #의 다른 메서드에서 동일한 클래스의 메서드를 호출하는 방법은 무엇입니까?

분류에서Dev

다른 메서드 내에서 클래스 메서드를 올바르게 호출하는 방법

분류에서Dev

.NET에서 정적 메서드를 호출 한 클래스를 확인하는 방법이 있습니까?

분류에서Dev

다른 .java 파일에있는 다른 클래스에서 메서드를 호출하는 방법은 무엇입니까?

분류에서Dev

한 클래스에서 다른 클래스로의 메서드 호출이 작동하지 않습니까?

분류에서Dev

Android의 다른 클래스에서 애니메이션 메서드를 호출하는 방법은 무엇입니까?

분류에서Dev

다른 클래스에서 메서드 슬라이딩 메뉴를 호출하는 방법은 무엇입니까?

분류에서Dev

평가 내에서 클래스 메서드를 호출하는 방법이 있습니까?

분류에서Dev

같은 클래스의 다른 메서드에서 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

버튼 클릭 이벤트에서 다른 클래스의 메서드를 호출하는 방법은 무엇입니까?

분류에서Dev

다른 메서드에서 호출되는 클래스 메서드는 'self'로 호출해야하는 이유는 무엇입니까?

분류에서Dev

다른 클래스에서 추상 내부 클래스 메서드를 호출하는 방법은 무엇입니까?

분류에서Dev

다른 클래스에서 메서드를 호출하지 못했습니다.

분류에서Dev

한 클래스에서 다른 클래스로 메서드를 호출하는 방법

분류에서Dev

한 클래스에서 다른 클래스로 메서드를 호출하는 방법

분류에서Dev

다른 클래스 메서드에서 메서드에 액세스하는 방법은 무엇입니까?

분류에서Dev

Rspec을 사용하여 Ruby의 다른 클래스에서 메서드를 호출하는 메서드를 어떻게 테스트 할 수 있습니까?

분류에서Dev

동일한 클래스 내에서 보호 된 메서드를 호출하는 다른 클래스에있는 정적 메서드 호출

분류에서Dev

Xamarin Forms에서 MainActivity의 메서드를 호출하거나 다른 클래스에서 MainActivity의 'Window'를 가져 오는 방법은 무엇입니까?

분류에서Dev

다른 클래스에서 메서드를 호출하는 데 문제가 있습니다.

분류에서Dev

PHP : 다른 정적 클래스에서 정적 클래스 메서드를 호출 할 수 있습니까?

분류에서Dev

다른 클래스의 다른 인스턴스 메서드에서 인스턴스 메서드를 참조하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    루비의 다른 클래스에서 메서드를 호출 할 수있는 방법이 있습니까?

  2. 2

    다른 클래스에서 get 메서드를 호출하는 방법은 무엇입니까?

  3. 3

    클래스에서 다른 함수 (메서드)를 호출하는 방법은 무엇입니까?

  4. 4

    다른 클래스에서 invalidate () 메서드를 호출하는 방법은 무엇입니까?

  5. 5

    다른 클래스에서 메서드를 호출하는 방법은 무엇입니까?

  6. 6

    다른 클래스에서 @selector 메서드를 호출하는 방법

  7. 7

    다른 클래스에서 void 메서드를 호출하는 방법

  8. 8

    C #의 다른 메서드에서 동일한 클래스의 메서드를 호출하는 방법은 무엇입니까?

  9. 9

    다른 메서드 내에서 클래스 메서드를 올바르게 호출하는 방법

  10. 10

    .NET에서 정적 메서드를 호출 한 클래스를 확인하는 방법이 있습니까?

  11. 11

    다른 .java 파일에있는 다른 클래스에서 메서드를 호출하는 방법은 무엇입니까?

  12. 12

    한 클래스에서 다른 클래스로의 메서드 호출이 작동하지 않습니까?

  13. 13

    Android의 다른 클래스에서 애니메이션 메서드를 호출하는 방법은 무엇입니까?

  14. 14

    다른 클래스에서 메서드 슬라이딩 메뉴를 호출하는 방법은 무엇입니까?

  15. 15

    평가 내에서 클래스 메서드를 호출하는 방법이 있습니까?

  16. 16

    같은 클래스의 다른 메서드에서 메서드를 어떻게 호출 할 수 있습니까?

  17. 17

    버튼 클릭 이벤트에서 다른 클래스의 메서드를 호출하는 방법은 무엇입니까?

  18. 18

    다른 메서드에서 호출되는 클래스 메서드는 'self'로 호출해야하는 이유는 무엇입니까?

  19. 19

    다른 클래스에서 추상 내부 클래스 메서드를 호출하는 방법은 무엇입니까?

  20. 20

    다른 클래스에서 메서드를 호출하지 못했습니다.

  21. 21

    한 클래스에서 다른 클래스로 메서드를 호출하는 방법

  22. 22

    한 클래스에서 다른 클래스로 메서드를 호출하는 방법

  23. 23

    다른 클래스 메서드에서 메서드에 액세스하는 방법은 무엇입니까?

  24. 24

    Rspec을 사용하여 Ruby의 다른 클래스에서 메서드를 호출하는 메서드를 어떻게 테스트 할 수 있습니까?

  25. 25

    동일한 클래스 내에서 보호 된 메서드를 호출하는 다른 클래스에있는 정적 메서드 호출

  26. 26

    Xamarin Forms에서 MainActivity의 메서드를 호출하거나 다른 클래스에서 MainActivity의 'Window'를 가져 오는 방법은 무엇입니까?

  27. 27

    다른 클래스에서 메서드를 호출하는 데 문제가 있습니다.

  28. 28

    PHP : 다른 정적 클래스에서 정적 클래스 메서드를 호출 할 수 있습니까?

  29. 29

    다른 클래스의 다른 인스턴스 메서드에서 인스턴스 메서드를 참조하는 방법은 무엇입니까?

뜨겁다태그

보관