// public sealed class UxFactory :10
// {
::g::Uno::UX::Factory_type* UxFactory_typeof()
{
    static uSStrong< ::g::Uno::UX::Factory_type*> type;
    if (type != NULL) return type;

    uTypeOptions options;
    options.FieldCount = 3;
    options.ObjectSize = sizeof(UxFactory);
    options.TypeSize = sizeof(::g::Uno::UX::Factory_type);
    type = (::g::Uno::UX::Factory_type*)uClassType::New("Outracks.Simulator.Runtime.UxFactory", options);
    type->SetBase(::g::Uno::UX::Factory_typeof());
    type->fp_New1 = (void(*)(::g::Uno::UX::Factory*, uObject**))UxFactory__New1_fn;
    ::TYPES[0] = ::g::Uno::Func_typeof()->MakeType(uObject_typeof());
    type->SetFields(2,
        ::g::Uno::Func_typeof()->MakeType(uObject_typeof()), offsetof(::g::Outracks::Simulator::Runtime::UxFactory, _create), 0);
    type->Reflection.SetFunctions(1,
        new uFunction(".ctor", NULL, (void*)UxFactory__New2_fn, 0, true, UxFactory_typeof(), 3, ::g::Uno::Func_typeof()->MakeType(uObject_typeof()), ::g::Uno::String_typeof(), ::g::Uno::Bool_typeof()));
    return type;
}
// public sealed class UxFactory :10
// {
UxFactory_type* UxFactory_typeof()
{
    static uSStrong<UxFactory_type*> type;
    if (type != NULL) return type;

    uTypeOptions options;
    options.FieldCount = 1;
    options.InterfaceCount = 1;
    options.ObjectSize = sizeof(UxFactory);
    options.TypeSize = sizeof(UxFactory_type);
    type = (UxFactory_type*)uClassType::New("Outracks.Simulator.Runtime.UxFactory", options);
    type->interface0.fp_New1 = (void(*)(uObject*, uObject**))UxFactory__New1_fn;
    ::TYPES[0] = ::g::Uno::Func_typeof()->MakeType(uObject_typeof());
    type->SetInterfaces(
        ::g::Uno::UX::IFactory_typeof(), offsetof(UxFactory_type, interface0));
    type->SetFields(0,
        ::g::Uno::Func_typeof()->MakeType(uObject_typeof()), offsetof(::g::Outracks::Simulator::Runtime::UxFactory, _create), 0);
    type->Reflection.SetFunctions(2,
        new uFunction("New", NULL, (void*)UxFactory__New1_fn, 0, false, uObject_typeof(), 0),
        new uFunction(".ctor", NULL, (void*)UxFactory__New2_fn, 0, true, UxFactory_typeof(), 1, ::g::Uno::Func_typeof()->MakeType(uObject_typeof())));
    return type;
}
// public UxFactory New(Uno.Func<object> create) [static] :13
UxFactory* UxFactory::New2(uDelegate* create)
{
    UxFactory* obj1 = (UxFactory*)uNew(UxFactory_typeof());
    obj1->ctor_(create);
    return obj1;
}
// public UxFactory New(Uno.Func<object> create, string matchCase, bool isDefault) [static] :13
UxFactory* UxFactory::New2(uDelegate* create, uString* matchCase, bool isDefault)
{
    UxFactory* obj1 = (UxFactory*)uNew(UxFactory_typeof());
    obj1->ctor_1(create, matchCase, isDefault);
    return obj1;
}