Despite I wouldn't do it, as it breaks some simple rule of OOP, you can use an implicit operator :
public class Foo
{
public string Name { get; private set; }
public static implicit operator Foo(string s)
{
return new Foo { Name = s };
}
}
Which would allow you to write :
Foo f = "some string";
But, again, I wouldn't do it.