2010-12-15 3 views
1

Не зная Obj-C я мог бы использовать некоторую помощь Traslate одну строку кода:Перевести Obj-C на C# (MonoTouch)

[[TVOutManager sharedInstance] startTVOut]; 

в C# версии я могу использовать в MonoTouch.

мне удалось получить XCode проект компилируется в статической библиотеке, теперь я пытаюсь выяснить, как превратить его в ... The оригинал Проект размещен здесь: http://www.touchcentric.com/blog/

ТИА, Rick

ответ

3

[obj myMsg] - это синтаксис Objective-C для отправки сообщения myMsg на экземпляр obj. Это, на первый взгляд, очень похоже на obj.myMsg() в C#. Однако Objective-C использует передачу сообщений, а не вызовы функций, поэтому эти два на самом деле очень разные семантически. Вы можете часто замалчивать различия, но если вы собираетесь делать какую-либо значительную работу над OS X или iOS, стоит внимательно прочитать язык Objective-C guide. Я не эксперт MonoTouch/MonoMac, но я считаю, что ответ на Ваш вопрос является:

TVOutManager.sharedInstance.startTVOut(); 

при условии sharedInstance отображается как статическое свойство типа TVOutManager или

TVOutManager.sharedInstance().startTVOut(); 

если sharedInstance отображается как метод класса в Objective-C.

+0

Вот фактический код Obj-C: + (TVOutManager *) sharedInstance { \t статический TVOutManager * sharedInstance; \t \t @synchronized (само) \t { \t \t, если (sharedInstance!) \t \t \t sharedInstance = [[TVOutManager Alloc] инициализации]; \t \t return sharedInstance; \t} } – Rick 2010-12-15 19:50:59

Смежные вопросы