Search Results

Search found 1787 results on 72 pages for 'reflection emit'.

Page 28/72 | < Previous Page | 24 25 26 27 28 29 30 31 32 33 34 35  | Next Page >

  • Why is Attributes.IsDefined() missing overloads?

    - by Hans Passant
    Inspired by an SO question. The Attribute class has several overloads for the IsDefined() method. Covered are attributes applied to Assembly, Module, MemberInfo, ParameterInfo. The MemberInfo overload covers PropertyInfo, FieldInfo, EventInfo, MethodInfo, ConstructorInfo. That takes care of most of the AttributeTargets. Except for one biggy: there is no overload for Attribute.IsDefined(Type, Type) so that you could check if an attribute is defined on a class. Or a struct, delegate or enum for that matter. Not that this is a real problem, Type.GetCustomAttributes() can fix that. But all of the BlahInfo types have this too. I wonder at the lack of symmetry. I can't put a finger on why this would be problem for Type. Guessing at an inheritance problem doesn't explain it to me. Having ValueType in the mix might be a lead, still doesn't make sense. I don't buy "they forgot", they never do. Why is this overload missing?

    Read the article

  • Why is my (Type).GetFields(BindingFlags.Instance | BindingFlags.Public) not working?

    - by granadaCoder
    My code can see the NonPublic members, but not the Public ones. (???) Full sample code below. FieldInfo[] publicFieldInfos = t.GetFields(BindingFlags.Instance | BindingFlags.Public); is returning nothing. Note, I'm trying to get at the properties on the abstract class as well as the 1 concrete class. (And read the attributes as well). I'm going bonkers on this one....the msdn example works with the 2 flags (BindingFlags.Instance | BindingFlags.Public).....but my mini inheritance example below is not. THANKS in advance. /////////////START CODE private void RunTest1() { try { textBox1.Text = string.Empty; Type t = typeof(MyInheritedClass); //Look at the BindingFlags *** NonPublic *** int fieldCount = 0; while (null != t) { fieldCount += t.GetFields(BindingFlags.Instance | BindingFlags.NonPublic).Length; FieldInfo[] nonPublicFieldInfos = t.GetFields(BindingFlags.Instance | BindingFlags.NonPublic); foreach (FieldInfo field in nonPublicFieldInfos) { if (null != field) { Console.WriteLine(field.Name); } } t = t.BaseType; } Console.WriteLine("\n\r------------------\n\r"); //Look at the BindingFlags *** Public *** t = typeof(MyInheritedClass); FieldInfo[] publicFieldInfos = t.GetFields(BindingFlags.Instance | BindingFlags.Public); foreach (FieldInfo field in publicFieldInfos) { if (null != field) { Console.WriteLine(field.Name); object[] attributes = field.GetCustomAttributes(t, true); if (attributes != null && attributes.Length > 0) { foreach (Attribute att in attributes) { Console.WriteLine(att.GetType().Name); } } } } } catch (Exception ex) { ReportException(ex); } } private void ReportException(Exception ex) { Exception innerException = ex; while (innerException != null) { Console.WriteLine(innerException.Message + System.Environment.NewLine + innerException.StackTrace + System.Environment.NewLine + System.Environment.NewLine); innerException = innerException.InnerException; } } public abstract class MySuperType { public MySuperType(string st) { this.STString = st; } public string STString { get; set; } public abstract string MyAbstractString {get;set;} } public class MyInheritedClass : MySuperType { public MyInheritedClass(string ic) : base(ic) { this.ICString = ic; } [Description("This is an important property"),Category("HowImportant")] public string ICString { get; set; } private string _oldSchoolPropertyString = string.Empty; public string OldSchoolPropertyString { get { return _oldSchoolPropertyString; } set { _oldSchoolPropertyString = value; } } [Description("This is a not so importarnt property"), Category("HowImportant")] public override string MyAbstractString { get; set; } }

    Read the article

  • How do I print the method body reflectively?

    - by kunjaan
    Right now I have private static void getMethods(Class<? extends Object> clazz) { Method[] declaredMethods = clazz.getDeclaredMethods(); for (Method aMethod : declaredMethods) { aMethod.setAccessible(true); // Print the declaration System.out.print(Modifier.toString(aMethod.getModifiers()) + " " + aMethod.getReturnType().getSimpleName() + " " + aMethod.getName()); // Get Parameter Types getParameters(aMethod); //Empty Body System.out.println("{}\n"); } } Which prints most information reflectively but creates an empty body. How do I add to the reflective nature of Java to print the method body?

    Read the article

  • How to convert string to any type

    - by DJPB
    Hi there I want to convert a string to a generic type I have this: string inputValue = myTxtBox.Text; PropertyInfo propInfo = typeof(MyClass).GetProperty(myPropertyName); Type propType = propInfo.PropertyType; object propValue = ????? I want to convert 'inputString' to the type of that property, to check if it's compatible how can I do that? tks

    Read the article

  • C# Type comparison

    - by Sean.C
    This has me pooped, is there any reason the following: public abstract class aExtension { public abstract bool LoadExtension(Constants c); // method required in inherit public abstract string AppliesToModule // property required in inherit { get; } public abstract string ExtensionName // property required in inherit { get; } public abstract string ExtensionDescription // property required in inherit { get; } } public class UK : aExtension { public override bool LoadExtension(Constants c) { return true; } public override string AppliesToModule { get { return "string"; } } public override string ExtensionName { get { return "string"; } } public override string ExtensionDescription { get { return "string"; } } } would return false for the following expressions: bool a = t.IsAssignableFrom(aExtension)); bool b = t.BaseType.IsAssignableFrom(aExtension)); bool c = typeof(aExtension).IsAssignableFrom(t); bool d = typeof(aExtension).IsAssignableFrom(t.BaseType); bool e = typeof(aExtension).IsSubclassOf(t); bool f = typeof(aExtension).IsSubclassOf(t.BaseType); bool g = t.IsSubclassOf(typeof(aExtension)); bool h = t.BaseType.IsSubclassOf(typeof(LBT.AdMeter.aExtension)); bool i = t.BaseType.Equals(typeof(aExtension)); bool j = typeof(aExtension).Equals(t.BaseType); T is the reflected Type from the calss UK. Stange thing is i do the exact same thing just on an external assembly in the same application and it works as expected...

    Read the article

  • How do I get a Type[] with arguments from a MethodCallExpression?

    - by Tomas Lycken
    I'm reflecting over a class (in a unit test of said class) to make sure its members have all the required attributes. To do so, I've constructed a couple of helpers, that take an Expression as an argument. I do some checks for it, and take slightly different actions depending on what type of Expression it is, but it's basically the same. Now, my problem is that I have several methods with the same name (but different signatures), and the following code throws an AmbiguousMatchException: // TOnType is a type argument for the type where the method is declared // mce is the MethodCallExpression var m = typeof(TOnType).GetMethod(mce.Method.Name); Now, if I could add an array of Type[] with the types of the arguments to this method as a second parameter to .GetMethod(), the problem would be solved. But how do I find this Type[] array that I need? I have cast the Expression<Func<...>> to an Expression, and then to a MethodCallExpression, and in this method the contents of <...> is not known.

    Read the article

  • Ensure that all getter methods were called in a JUnit test

    - by Freiheit
    I have a class that uses XStream and is used as a transfer format for my application. I am writing tests for other classes that map this transfer format to and from a different messaging standard. I would like to ensure that all getters on my class are called within a test to ensure that if a new field is added, my test properly checks for it. A rough outline of the XStream class @XStreamAlias("thing") public class Thing implements Serializable { private int id; private int someField; public int getId(){ ... } public int someField() { ... } } So now if I update that class to be: @XStreamAlias("thing") public class Thing implements Serializable { private int id; private int someField; private String newField; public int getId(){ ... } public int getSomeField() { ... } public String getNewField(){ ... } } I would want my test to fail because the old tests are not calling getNewField(). The goal is to ensure that if new getters are added, that we have some way of ensuring that the tests check them. Ideally, this would be contained entirely in the test and not require modifying the underlying Thing class. Any ideas? Thanks for looking!

    Read the article

  • Getting default value for java primitive types

    - by ripper234
    I have a java primitive type at hand: Class c = int.class; // or long.class, or boolean.class I'd like to get a 'default value' for this class - specifically the value is assigned to fields of this type if they are not initialized. E.g., '0' for a number, 'false' for a boolean. Is there a generic way to do this? I tried c.newInstance() But I'm getting an InstantiationException, and not a default instance.

    Read the article

  • Parsing values from XML into types of Type

    - by DrLazer
    check this out Type configPropType = configurableProp.getPropertyType(); string attValue = xmlelement.GetAttribute(configurableProp.getName()); configProps[configurableProp.getName()] = attValue; At the point where I am setting the value that got read in from XML it turns out the assigning object needs to be parsed to the correct type for it to work. I need something like. configProps[configurableProp.getName()] = configPropType.ParseToThisType(attValue); Looked around on msdn but its a very confusing place.

    Read the article

  • Determine if FieldInfo is compiler generated backingfield

    - by Steffen
    The title pretty much says it all, how do I know if I'm getting a compiler generated backingfield for a {get; set;} property ? I'm running this code to get my FieldInfos: Class MyType { private int foo; public int bar {get; private set; } } Type type = TypeOf(MyType); foreach (FieldInfo fi in type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly | BindingFlags.NonPublic)) { // Gets both foo and bar, however bar is called <bar>k__backingfield. } so the question is, can I somehow detect that the FieldInfo is a backingfield, without relying on checking its name ? (Which is pretty undocumented, and could be broken in next version of the framework)

    Read the article

  • F# equivalent of the C# typeof(IEnumerable<>)

    - by Rune FS
    I have a piece of code where I need to figure out if a given type implements IEnumerable (I don't care about the T) I've tried (t:System.Type in case you wonder) let interfaces = t.GetInterfaces() let enumerbale = interfaces.Any( fun t -> (t.GetGenericTypeDefinition() = typeof<IEnumerable<>>) however that wont compile (the compile don't like the <). I then tried let interfaces = t.GetInterfaces() let enumerbale = interfaces.Any( fun t -> (t.GetGenericTypeDefinition() = typeof<IEnumerable<'a>>) but get's a warning that 'a is constraint to obj. I Don't want to figure out if IEnumerable is implemented but IEnumerabl<. Any one know's the solution and btw feel free to comment on the code above as well. It's my first non-trivial F# program

    Read the article

  • C# determining generic type

    - by Chris Klepeis
    I have several templated objects that all implement the same interface: I.E. MyObject<datatype1> obj1; MyObject<datatype2> obj2; MyObject<datatype3> obj3; I want to store these objects in a List... I think I would do that like this: private List<MyObject<object>> _myList; I then want to create a function that takes 1 parameter, being a datatype, to see if an object using that datatype exists in my list.... sorta clueless how to go about this. In Pseudo code it would be: public bool Exist(DataType T) { return (does _myList contain a MyObject<T>?); }

    Read the article

  • How can I pass a type as a parameter in scala?

    - by rsan
    I'm having a really hard time trying to figure out how can I store or pass a type in scala. What I want to achive is something like this: abstract class Foo( val theType : type ) object Foo{ case object Foo1 extends Foo(String) case object Foo2 extends Foo(Long) } So at some point I can do this: theFoo match{ case String => "Is a string" case Long => "Is a long" } and when obtaining the object being able to cast it: theFoo.asInstanceOf[Foo1.theType] Is this possible? If is possible, is a good aproach? What I'm trying to achieve ultimately is writing a pseudo schema for byte stream treatment. E.g if I have an schema Array(Foo1,Foo1,Foo2,Foo3,Foo1) I could parse Arrays of bytes that complain with that schema, if at some point I have a different stream of bytes I could just write a new schema Array(Foo3, Foo4, Foo5) without having to reimplement parsing logic. Regards,

    Read the article

  • How to convet DataTable to List on runtype with out existin class property [closed]

    - by shamim
    Work on VS2010 C#,Have one DataTable ,want to convert this DataTable to List Suppose: Table dt; On run time want to create similar field from a datatable and fill fields in List.There is no existing class for list properties. ListName=TableName List property name=Table column name List Property type=Table column type List items=Table rows Note: Recently work on EF.To fullfill my project requirement, need to give flexibility to use to input and execute ESQL at runtime .I don’t want to put this execute result on datatable or List ,want to put this result on list. List has no existing class and property,don’t want to convert DataTable on list Type:DataRow If have any query please ask,Thanks in advanced.

    Read the article

  • How do I iterate over an Array field reflectively?

    - by kunjaan
    I have Class<? extends Object> class1 = obj.getClass(); Field[] fields = class1.getDeclaredFields(); for (Field aField : fields) { aField.setAccessible(true); if (!Modifier.isStatic(aField.getModifiers()) && Modifier.isPublic((aField.getModifiers()))) { if (aField.getType().isArray()) { for (?? vals : aField) { System.out.println(vals); } } } }

    Read the article

  • Getting an argument list for a class method

    - by Chris T
    What I'd like is for this class class Car { public function __construct(Engine $engine, Make $make, Model $model) { // stuff } } Get an array that has the types needed to construct this car (Engine, Make, Model) in the order they are needed for the constructor. I'm using this for a Dependency Injection-esque thing I'm making.

    Read the article

  • Can I get parameter names/values procedurally from the currently executing function?

    - by Pwninstein
    I would like to do something like this: public MyFunction(int integerParameter, string stringParameter){ //Do this: LogParameters(); //Instead of this: //Log.Debug("integerParameter: " + integerParameter + // ", stringParameter: " + stringParameter); } public LogParameters(){ //Look up 1 level in the call stack (if possible), //Programmatically loop through the function's parameters/values //and log them to a file (with the function name as well). //If I can pass a MethodInfo instead of analyzing the call stack, great. } I'm not even sure what I want to do is possible, but it would be very nice to be able to automatically output parameter names/values at runtime to a file without explicitly writing the code to log them. Thanks!

    Read the article

  • Missing MethodInfo for overloaded function with different return type

    - by Charvak
    I have a class defined as follows interface ITest { List<T> Find<T>(int i); } class Test: ITest { public T List<T> Find<T>(int i) { return default(T); } List<T> ITest.Find<T>(int i) { return null; } } When I use typeof(Test).GetMethods() (both with and without appropriate BindingFlags) I do not get the MethodInfo for ITest.Find function. What is the best way of getting the MethodInfo for the missing method? Thanks

    Read the article

  • How to make an unit test always pass?

    - by brain_damage
    Let's assume someone has to write a solution to a problem and I have to test his solution with some tests. Is it possible (maybe with reflections or something) his program to pass all my tests, but to have nothing in common with the real solution to the problem?

    Read the article

  • Get all Methods with a given return type

    - by Aren B
    Is this code wrong? It's just not returning anything: public IEnumerable<string> GetMethodsOfReturnType(Type cls, Type ret) { var methods = cls.GetMethods(BindingFlags.NonPublic); var retMethods = methods.Where(m => m.ReturnType.IsSubclassOf(ret)) .Select(m => m.Name); return retMethods; } It's returning an empty enumerator. Note: I'm calling it on a ASP.NET MVC Controller looking for ActionResults GetMethodsOfReturnType(typeof(ProductsController), typeof(ActionResult));

    Read the article

< Previous Page | 24 25 26 27 28 29 30 31 32 33 34 35  | Next Page >