日期:2014-05-18  浏览次数:20911 次

.net 用法
C# code

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Res.A);


        }
    }
    
    public class Test
    {
       [Load("ConsoleApplication1.Res.A")]
        public string A { get; set; }
       [Load("ConsoleApplication1.Res.B")]
        public string B { get; set; }

    }

    public class Load:Attribute
    {
        public Load(string name)
        { 
            
        }
    }



还有一个资源文件Res,里面有名称为A,对应的值为aaa,B对应的值为bbb

我在static void Main(string[] args)
方法里面想打印出这两个值 aaa和bbb,请问应该在Load的构造 方法里面怎么做。。

------解决方案--------------------
你的资源应该是在Test类里面获取的吧,你至少应该创建Test的实例,然后通过实例去访问
------解决方案--------------------
一般不会用特性对属性赋值,如果非要这么做好像也可以稍微改造下

C# code

    public class Test
    {
       public Test()
       {
          //在构造函数中读取特性,反射对属性赋值
       }
       
       [Load("ConsoleApplication1.Res.A")]
        public string A { get; set; }
       [Load("ConsoleApplication1.Res.B")]
        public string B { get; set; }

    }

    public class Load:Attribute
    {
        public Load(string name)
        { 
            //反射对Value赋值
        }
        public object Value
        {
          get;
        }
    }