С этим синтаксисом все в порядке. Что происходит, когда вы пытаетесь это сделать?
Обратите внимание, что в приведенном вами фрагменте вы не не делаете ничего с Uri после его создания - если проблема в том, что позже вы пытаетесь использовать m_DTBook_FilePath
как 1006 *, тогда вы должны иметь:
public Uri m_DTBook_FilePath;
public DTBooktoXukConversion(string bookfile)
{
m_DTBook_FilePath = new Uri(bookfile);
}
(я бы, кстати, настоятельно рекомендовал бы не иметь публичное поле в вашем реальном коде.)