Given extension method below:

```
public static class Ext
{
    public static void Serialize(this Guid guid_, StringWriter sw_)
    {
        sw_.Write(guid_.ToString("B"));
    }
}

```

and the class:

```
public class Field<T>
{
    public T value;

    public void Serialize(StringWriter sw_)
    {
        value.Serialize(sw_);
    }
}

```

I would like to do the following, but can't quite figure it out:

```
public class Foo
{
    public Field<Guid> uid;

    public Foo()
    {
        // assume StringWriter object sw;
        uid.Serialize(sw);
    }
}

```

Obviously real-life situation is more complicated, this is just a bare-bones example.

**EDIT**

Compiler errors:

error CS1928: 'T' does not contain a definition for 'Serialize' and the best extension method overload 'Ext.Serialize(System.Guid, StringWriter)' has some invalid arguments

error CS1929: Instance argument: cannot convert from 'T' to 'System.Guid'