现我有类Class1,和属性类Class2
如下
[System.AttributeUsage(AttributeTargets.All)]
public class Class2 : System.Attribute
{
    public Class2()
    {
        //这里要得到Class1的相关信息,行不行??
    }
}
[Class2()]
public class Class1
{
    public Class1()
    {
    }
}

解决方案 »

  1.   

    行啊,可以new一个class1的实例
    ...
    public Class2()
    {
      Class1 temp = new Class1();
      //通过temp就可以拉
    }
    ...
    当然也可以弄成static的,直接调用,暂时不推荐这种方法
    =================================================================
            角落里的理想
                    http://blog.csdn.net/zdsdiablo/
                                     --------十分钟年华老去
    =================================================================
      

  2.   

    现在的问题是,我不知道这个属性类会被用到哪里,Class1是未定的,可能是别的什么类,现在不知道
      

  3.   

    Type t =   new Class1().GetType();
      

  4.   

    俺的意思是,Class1只是我举的例子,我想动态的得到使用属性类的类的信息
      

  5.   

    Class2在使用之前是不知道被用在什么类上的,任意的类都可能使用这个Class2,Class2要得到这个类的Type
      

  6.   

    .NET 的反射可以实现动态加载类,
    就像COM时候动态加载DLL组件一样~
      

  7.   

    You can't in .NetFX 1.1 or lower.
    But in .NetFx 2.0 you can special the attribute class to use on some special classes.
      

  8.   

    [System.AttributeUsage(AttributeTargets.All)]
    public class Class2 : System.Attribute
    {
        public Class2(System.Type type)
        {
            //这里要得到Class1的相关信息,行不行??
        }
    }将类型作为参数带进去
      

  9.   

    不行!因为在C#中,Attribute的行为是被动的,它无法知道自己被用在什么地方。Attribute在设计之初就被定位为只有使用者可以获取Attribute的相关信息,而Attribute本身是无法知道自己被使用在什么地方的。不知道楼主为什么要实现这样的功能,你只有用其他方式变通处理了。
      

  10.   

    只有迂回了
    把attribute扩展一下,在class2和使用到class2的类之间用observer模式