コード例 #1
0
            public static void RunTest()
            {
                #region WRAPPED CLASS CONCRETIZATION WITH INHERITANCE FROM ABSTRACT CLASS
                ITypeConfig typeConfig =
                    Core.FindOrCreateTypeConfig <IMyData, WrapperInterface>("MyType5");

                typeConfig.AddStaticUtilsClass
                (
                    nameof(StaticMethodsTests.WrapperInterface.TheClass),
                    typeof(MyDataUtils)
                );

                typeConfig.SetAllowNonPublicForAllMembers(nameof(WrapperInterface.TheClass));

                //typeConfig.SetPropMap
                //(
                //    nameof(WrapperInterface.TheClass),
                //    "GetTheFullName",
                //    nameof(IMyData.GetFullName),
                //    true);

                typeConfig.ConfigurationCompleted();

                IMyData myData = Core.GetInstanceOfGeneratedType <IMyData>("MyType5");
                myData.FirstName = "Joe";
                myData.LastName  = "Doe";

                Assert.Equal("Joe Doe", myData.GetFullName());
                #endregion WRAPPED CLASS CONCRETIZATION WITH INHERITANCE FROM ABSTRACT CLASS
            }
コード例 #2
0
        static void Main(string[] args)
        {
            #region WRAPPED CLASS CONCRETIZATION WITH INHERITANCE FROM ABSTRACT CLASS
            ITypeConfig <IMyData, NoClass, WrapperInterface> typeConfig =
                Core.FindOrCreateTypeConfig <IMyData, WrapperInterface>("MyType");

            typeConfig.AddStaticUtilsClass
            (
                nameof(WrapperInterface.TheClass),
                typeof(MyDataUtils)
            );

            typeConfig.SetAllowNonPublicForAllMembers(nameof(WrapperInterface.TheClass));

            //typeConfig.SetPropMap
            //(
            //    nameof(WrapperInterface.TheClass),
            //    "GetTheFullName",
            //    nameof(IMyData.GetFullName),
            //    true);

            typeConfig.ConfigurationCompleted();

            IMyData myData = Core.GetInstanceOfGeneratedType <IMyData>("MyType");
            myData.FirstName = "Joe";
            myData.LastName  = "Doe";

            Console.WriteLine(myData.GetFullName());
            #endregion WRAPPED CLASS CONCRETIZATION WITH INHERITANCE FROM ABSTRACT CLASS
        }
コード例 #3
0
ファイル: Core.cs プロジェクト: sachabarber/NP.Roxy
        public ITypeConfig FindOrCreateEnumWrapperTypeConfig <T, EnumType>(Type staticEnumExtensionsType, bool allowNonPublic)
        {
            string className = typeof(EnumType).GetTypeAdapterClassName(typeof(T));

            ITypeConfig enumWrapperTypeConfig =
                this.FindOrCreateTypeConfByTypeToImpl <T, SingleWrapperInterface <EnumType> >(className);

            if (!enumWrapperTypeConfig.ConfigurationHasBeenCompleted)
            {
                enumWrapperTypeConfig.AddStaticUtilsClass
                (
                    nameof(SingleWrapperInterface <EnumType> .TheWrappedType),
                    staticEnumExtensionsType
                );

                if (allowNonPublic)
                {
                    enumWrapperTypeConfig.SetAllowNonPublicForAllMembers();
                }
            }

            return(enumWrapperTypeConfig);
        }