簡體   English   中英

從類中的類調用方法

[英]Call method from class in class

我不知道如何正確地寫一個標題,但我的意思是做出這樣的事情:

public static MusicPlayer _Player = new MusicPlayer();

_Player.Play.Song(TestPath);

MusicPlayer是一個類,在那個類中,我想創建類似屬性或其他類的東西,我不知道如何調用它,這將有兩個方法。 我現在的代碼:

public class MusicPlayer
{
    //Variables, Methods and Properties in MusicPlayer
    //And then Play which can have two tipes of play.
    public static class Play
    {
        //This one should be called if I want to play one song
        public static void Song(String _path)[...]

        //And this one when I want to play from list, defined in MusicPlayer class
        public static void List()[...]
    }
}

你應該做這個:

public class MusicPlayer
{
    public class Player
    {
        public static void Song(String _path)[...]
        public static void List()[...]
    }

    private Player m_player = new Player();

    public Player Play
    {
        get { return m_player; }
    }
}

這定義了MusicPlayerPlayer類。 此外,它還創建了一個Player類型的成員變量和一個允許您使用MusicPlayer實例從外部訪問Player實例的屬性:

var mplayer = new MusicPlayer();
mplayer.Play.Song(...);

如果您不想創建MusicPlayer的實例,您也可以將其設為靜態:

public class MusicPlayer
{
    public class Player
    {
        public static void Song(String _path)[...]
        public static void List()[...]
    }

    private static Player m_player = new Player();

    public static Player Play
    {
        get { return m_player; }
    }
}

您現在可以使用MusicPlayer.Play.Song(...)而無需創建實例。

你可以做那樣的事情

public class MusicPlayer
{
    public MusicPlayer()
    {
        Play = new Play();
    }
    public Play Play { get; private set; }

}

public class Play
{
    //This one should be called if I want to play one song
    public void Song(String _path){}

    //And this one when I want to play from list, defined in MusicPlayer class
    public void List() { }
}

然后使用喜歡

new MusicPlayer().Play.Song("");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM