Какой HRESULT возвращать, когда класс не реализует метод по какой-то причине проектирования? - PullRequest
0 голосов
/ 16 мая 2011

Предположим, у меня не очень хорошо разработанный COM-интерфейс, и некоторые классы просто логически не могут реализовать один из его методов.

Как, например, есть такой метод, как Explode(), и многие классы просто могутразумно "взорваться", но все же придется реализовать этот метод и необходимо вернуть соответствующий код ошибки.

Должен ли я возвращать E_NOTIMPL в таких случаях?Для меня этот код означает « еще не реализовано , вернитесь в версию 2.0».Следует ли его также использовать, когда метод постоянно не реализуется классом по какой-либо серьезной причине проектирования?

1 Ответ

2 голосов
/ 16 мая 2011

Вы, конечно, могли бы добавить свои HRESULT для этого, но, на мой взгляд, вполне допустимо возвращать E_NOTIMPL в этом случае.Я никогда не понимал, что E_NOTIMPL подразумевает намерение реализовать на более позднем этапе.

...