В первую очередь public class Foo : IFoo<T> {}
не компилирует, потому что необходимо указать класс вместо T, но предположение, что Вы делаете что-то как public class Foo : IFoo<SomeClass> {}
затем, если Вы делаете
Foo f = new Foo();
IBar<SomeClass> b = f as IBar<SomeClass>;
if(b != null) //derives from IBar<>
Blabla();
[NSImage imageNamed: NSImageNameComputer]
Будет возвращен значок текущего компьютера
Еще одно место для поиска значков:
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources
Вы можете создавать объекты NSImage с файлами в них следующим образом:
[[NSImage alloc] initWithContentsOfFile:@"/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.macbook-unibody.icns"];
Вероятно, не рекомендуется жестко запрограммировать значение, подобное этому, поскольку Apple может изменить расположение значков. Существует файл с именем IconsCore.h, который содержит множество других значений констант, таких как 'kToolbarDesktopFolderIcon', которые можно использовать следующим образом:
[[NSWorkspace sharedWorkspace] iconForFileType: NSFileTypeForHFSTypeCode(kToolbarDesktopFolderIcon)];
Я считаю, что эти константы работают только в Snow Leopard.
Если вы ищете какие-либо другие системные значки, ознакомьтесь с образцом проекта Apple под названием " IconCollection ". http://developer.apple.com/mac/library/samplecode/IconCollection/listing5.html
Образец поставляется с файлом plist, в котором есть имена и коды для нескольких системных значков, к которым можно получить доступ. с помощью;