Server.Core.VerifyType C# (CSharp) Méthode

VerifyType() private static méthode

private static VerifyType ( Type t ) : void
t System.Type
Résultat void
        private static void VerifyType( Type t )
        {
            bool isItem = t.IsSubclassOf(typeof(Item));

            if (isItem || t.IsSubclassOf(typeof(Mobile)))
            {
                if (isItem)
                {
                    //++m_ItemCount;
                    Interlocked.Increment(ref m_ItemCount);
                }
                else
                {
                    //++m_MobileCount;
                    Interlocked.Increment(ref m_MobileCount);
                }

                StringBuilder warningSb = null;

                try
                {
                    /*
                    if( isItem && t.IsPublic && !t.IsAbstract )
                    {
                        ConstructorInfo cInfo = t.GetConstructor( Type.EmptyTypes );

                        if( cInfo == null )
                        {
                            if (warningSb == null)
                                warningSb = new StringBuilder();

                            warningSb.AppendLine("       - No zero paramater constructor");
                        }
                    }*/

                    if (t.GetConstructor(m_SerialTypeArray) == null)
                    {
                        if (warningSb == null)
                            warningSb = new StringBuilder();

                        warningSb.AppendLine("       - No serialization constructor");
                    }

                    if (t.GetMethod("Serialize", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly) == null)
                    {
                        if (warningSb == null)
                            warningSb = new StringBuilder();

                        warningSb.AppendLine("       - No Serialize() method");
                    }

                    if (t.GetMethod("Deserialize", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly) == null)
                    {
                        if (warningSb == null)
                            warningSb = new StringBuilder();

                        warningSb.AppendLine("       - No Deserialize() method");
                    }

                    if (warningSb != null && warningSb.Length > 0)
                    {
                        Console.WriteLine("Warning: {0}\n{1}", t, warningSb.ToString());
                    }
                }
                catch
                {
                    Console.WriteLine("Warning: Exception in serialization verification of type {0}", t);
                }
            }
        }