日期:2014-05-19  浏览次数:20814 次

进来看看能否实现
public   class   Class1
        {
                public   string   File1
                {
                        get   {   return   _str;   }
                        set  
                        {
                                //在这里调用Class2的Method1方法
                                Class2.Method1();

                                _str   =   value;
                        }
                }
                private   string   _str;
        }

        public   class   Class2
        {
                public   static   void   Method1()
                {  
                        //我想在这里知道自己(Method1)被谁调用了。
                        //想得到的信息是:类名:Class1;属性名:File1.
                }
        }

请教高手,可以实现吗?

------解决方案--------------------
可以!!!
------解决方案--------------------
看漏了下面的要求...不行,除非有传参数~~~
------解决方案--------------------
传参给Method1
把想告诉它的都告诉它
------解决方案--------------------
set
{
//在这里调用Class2的Method1方法
Class2.Method1(this);

_str = value;
}
////////////////////////////////
public class Class2
{
public static void Method1(object o)
{
Type t = typeof(o);

}
}

属性实例的类型忘记了,也想传类型那样传属性的信息..我查查看先..
------解决方案--------------------
属性那里传个字符串就行了~~~~得到一个类的Type对象,根据属性名可以得到该属性的了~~

public static void Method1(object o,string p)
{
Type t = typeof(o);
System.Reflection.PropertyInfo pro =t.GetProperty(p);
}
------解决方案--------------------
既然你有这个要求,那就简单多了,不行.

可以修改代码你就修改,为什么偏偏要折磨自己,多了解.net框架,少走些弯路~~`
------解决方案--------------------
使用反射不知道可以实现不?LZ可以查查相关资料,没弄过。
------解决方案--------------------
取巧吧~~~用一个全局变量做标记~~前提是单线程情况下


public static object oo;
public class Class1
{
public string File1
{