(1), о, спасибо!
Интересно как это по скорости. Вытягивать двоичные данные, читать их в метаданные... Но лучше так чем никак)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший