DynamicObjectインスタンスが使用されるコンテキストに基づいて (動的クラスで) 異なる動作を取得するには、どのメソッドをオーバーライドする必要がありますか?
これが私が達成しようとしていることの例です:
class DynamicTest : DynamicObject
{
    public DynamicTest(string xyz)
    {
        _xyz = xyz;
    }
    private string _xyz;
    //TODO: what do I need to implement to get required behaviour?
}
class Program
{
    static void Main(string[] args)
    {
        dynamic foo = new DynamicTest("test);
        if (foo)  // treat foo as boolean
        { // jump in here when _xyz of foo has a value
            System.Console.WriteLine(foo); //treat foo as string
        }
        else
        { // jump in here when _xyz of foo is null
            System.Console.WriteLine("No Value In Object");
        }
    }
}