Вы не можете вернуть анонимный тип из функции, подобной этой, потому что у нее нет имени.
Поскольку это открытая функция, она должна иметь четко определенный тип возвращаемого значения. Создайте новый класс, содержащий эти два свойства.
Его можно вернуть, если тип возвращаемого значения - предполагаемый универсальный параметр, но здесь это не то, что вам нужно. Это полезно для LINQ, когда анонимный тип по существу передается из параметра в тип результата, но не полезен для того, что вы делаете.
Вы также можете использовать кортеж, но тогда вы потеряете имена свойств. И это не будет расширяемым, так как добавление нового свойства нарушит код вызывающей стороны. Так что я бы тоже не советовал.