передавая это как параметр в статическом методе - PullRequest
1 голос
/ 11 января 2012

У меня проблемы с кодом в Visual C # для Windows Phone Проблема не в том, что это не работает, потому что это работает, но я не понимаю, как = P Внутри статического класса создается статический метод, который задается в качестве параметра:

public static void MethodONe( this Timeline animation )
{
    //this class does not extend the TimeLine class, and is not connected to it in any                   
    //such way.
    animation.MethodTwo( );
}

public static void MethodTwo( this Timeline animation )
{
    someCode( );
}

Как называется этот параметр передачи и что именно он делает?

1 Ответ

1 голос
/ 11 января 2012

Это так называемый метод расширения объекта Timeline. Он добавляет функциональность без изменения самого класса.

http://msdn.microsoft.com/en-us/library/bb383977.aspx

А в вашем случае параметр анимации - это объект временной шкалы (который вызывает функцию):

var timeLine = new Timeline();
timeLine.MethodTwo();

Таким образом, объект timeLine будет передан в качестве параметра анимации в функцию. В Википедии есть хорошая статья, которая более подробно объясняет это:

http://en.wikipedia.org/wiki/Extension_method

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...