Gurux.DLMS.GXDLMS.GetObjectTypes C# (CSharp) Method

GetObjectTypes() public static method

Returns object types.
This can be used with serialization.
public static GetObjectTypes ( Type>.Dictionary availableObjectTypes ) : System.Type[]
availableObjectTypes Type>.Dictionary
return System.Type[]
        public static Type[] GetObjectTypes(Dictionary<ObjectType, Type> availableObjectTypes)
        {
            lock (availableObjectTypes)
            {
                if (availableObjectTypes.Count == 0)
                {
                    foreach (Type type in typeof(GXDLMS).Assembly.GetTypes())
                    {
                        if (!type.IsAbstract && typeof(GXDLMSObject).IsAssignableFrom(type))
                        {
                            GXDLMSObject obj = Activator.CreateInstance(type) as GXDLMSObject;
                            availableObjectTypes[obj.ObjectType] = type;
                        }
                    }
                }
                return availableObjectTypes.Values.ToArray();
            }
        }