How to list all functions in a module?
You can use dir(module) to see all available methods/attributes. Also check out PyDocs.
You can use dir(module) to see all available methods/attributes. Also check out PyDocs.
Assuming no SecurityManager is preventing you from doing this, you can use setAccessible to get around private and resetting the modifier to get rid of final, and actually modify a private static final field. Here’s an example: import java.lang.reflect.*; public class EverythingIsTrue { static void setFinalStatic(Field field, Object newValue) throws Exception { field.setAccessible(true); Field modifiersField … Read more
In order to access private fields, you need to get them from the class’s declared fields and then make them accessible: Field f = obj.getClass().getDeclaredField(“stuffIWant”); //NoSuchFieldException f.setAccessible(true); Hashtable iWantThis = (Hashtable) f.get(obj); //IllegalAccessException EDIT: as has been commented by aperkins, both accessing the field, setting it as accessible and retrieving the value can throw Exceptions, … Read more
This should do what you need. try { var enumType = typeof(FunkyAttributesEnum); var memberInfos = enumType.GetMember(FunkyAttributesEnum.NameWithoutSpaces1.ToString()); var enumValueMemberInfo = memberInfos.FirstOrDefault(m => m.DeclaringType == enumType); var valueAttributes = enumValueMemberInfo.GetCustomAttributes(typeof(DescriptionAttribute), false); var description = ((DescriptionAttribute)valueAttributes[0]).Description; } catch { return FunkyAttributesEnum.NameWithoutSpaces1.ToString() }
A tag for a field allows you to attach meta-information to the field which can be acquired using reflection. Usually it is used to provide transformation info on how a struct field is encoded to or decoded from another format (or stored/retrieved from a database), but you can use it to store whatever meta-info you … Read more
As others mentioned, it’s only possible via reflection in certain circumstances. If you really need the type, this is the usual (type-safe) workaround pattern: public class GenericClass<T> { private final Class<T> type; public GenericClass(Class<T> type) { this.type = type; } public Class<T> getMyType() { return this.type; } }
In case of a value type use Activator.CreateInstance and it should work fine. When using reference type just return null public static object GetDefault(Type type) { if(type.IsValueType) { return Activator.CreateInstance(type); } return null; } In the newer version of .net such as .net standard, type.IsValueType needs to be written as type.GetTypeInfo().IsValueType
Use the defined? keyword (documentation). It will return a String with the kind of the item, or nil if it doesn’t exist. >> a = 1 => 1 >> defined? a => “local-variable” >> defined? b => nil >> defined? nil => “nil” >> defined? String => “constant” >> defined? 1 => “expression” As skalee … Read more
Due to the dynamic nature of class loaders, this is not possible. Class loaders are not required to tell the VM which classes it can provide, instead they are just handed requests for classes, and have to return a class or throw an exception. However, if you write your own class loaders, or examine the … Read more
Try this: this.GetType().Name