using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;

[Serializable]
[Microsoft.SqlServer.Server.SqlUserDefinedType(Format.Native)]
public struct SomeUDT : INullable
{
    public override string ToString()
    {
        // Replace the following code with your code
        return "";
    }

    public bool IsNull
    {
        get
        {
            // Put your code here
            return m_Null;
        }
    }

    public static SomeUDT Null
    {
        get
        {
            SomeUDT h = new SomeUDT();
            h.m_Null = true;
            return h;
        }
    }

    public static SomeUDT Parse(SqlString s)
    {
        if (s.IsNull)
            return Null;
        SomeUDT u = new SomeUDT();
        // Put your code here
        return u;
    }
    public SomeUDT Method()
    {
        //Insert method code here
        return new SomeUDT();
    }

    // This is a place-holder method
    [SqlMethod(InvokeIfReceiverIsNull=true)]
    public SomeUDT Method1()
    {
        //Insert method code here
        return new SomeUDT();
    }

    // This is a place-holder static method
    public SomeUDT Method2()
    {
        //Insert method code here
        return new SomeUDT();
    }
    public SomeUDT Method3(int a)
    {
        //Insert method code here
        return new SomeUDT();
    }

    // This is a place-holder field member
    public int var1;
    // Private member
    private bool m_Null;
}


