Field Attributes : Class Variables : Class Interface C# Source Code


Custom Search

C# Source Code » Class Interface » Class Variables »

 

Field Attributes








    
 

using System;
using System.Reflection;

public enum RegHives {
    HKEY_CLASSES_ROOT,
    HKEY_CURRENT_USER,
    HKEY_LOCAL_MACHINE,
    HKEY_USERS,
    HKEY_CURRENT_CONFIG
}

public class RegKeyAttribute : Attribute {
    public RegKeyAttribute(RegHives Hive, String ValueName) {
        this.Hive = Hive;
        this.ValueName = ValueName;
    }

    protected RegHives hive;
    public RegHives Hive {
        get { return hive; }
        set { hive = value; }
    }

    protected String valueName;
    public String ValueName {
        get { return valueName; }
        set { valueName = value; }
    }
}

class SomeClass {
    [RegKey(RegHives.HKEY_CURRENT_USER, "Foo")]
    public int Foo;

    public int Bar;
}

class Test {
    [STAThread]
    static void Main(string[] args) {
        Type type = Type.GetType("FieldAttribs.SomeClass");
        foreach (FieldInfo field in type.GetFields()) {
            foreach (Attribute attr in
                field.GetCustomAttributes(true)) {
                RegKeyAttribute rka =
                    attr as RegKeyAttribute;
                if (null != rka) {
                    Console.WriteLine("{0} will be saved in {1}\\\\{2}", field.Name, rka.Hive, rka.ValueName);
                }
            }
        }
    }
}

 
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo Class Interface
» Class Variables