Como verifico se existe uma propriedade em um tipo anônimo dinâmico em c #?

Tenho um objeto de tipo anônimo que recebo como dinâmico de um método que gostaria de verificar se existe uma propriedade nesse objet

....
var settings = new {
                   Filename="temp.txt",
                   Size=10
}
...

function void Settings(dynamic settings) {
var exists = IsSettingExist(settings,"Filename")
}

Como eu implementaria o IsSettingExist?

questionAnswers(16)

yourAnswerToTheQuestion