В обоих сценариях, чтобы метод функционировал должным образом, как ожидается, объекты, передаваемые в метод, должны иметь ваши свойства Name и Description.
Меня беспокоит то, что лучший способ использовать динамику, как у вас,вам нужно будет предоставить дополнительную документацию по методу, чтобы другие программисты или даже вы сами через шесть месяцев знали ожидаемые контракты данных, которые должны присутствовать в передаваемом объекте, и даже в этом случае вам действительно следует записывать обработку ошибок в свой метод, чтобы гарантировать, что он функционирует какожидается, когда этот контракт будет разорван.
Имеет ли все эти потенциальные преимущества вес гипотетического выигрыша от не написания интерфейса, который в приведенном примере будет буквально всего 5 базовыми строками кода, который затем будет делать всезаставляя себя делать это вручную.
Предполагая, что вы хотите следовать рекомендациям, которые приводят к хорошо документированному и легко читаемому коду.Я бы склонялся к использованию интерфейса для этой цели.