相关疑难解决方法(0)

你能用反射来找到当前正在执行的方法的名称吗?

就像标题所说:反射可以为您提供当前正在执行的方法的名称.

由于海森堡的问题,我倾向于不猜.如何在不改变当前方法的情况下调用一种方法来告诉您当前的方法?但是我希望有人可以在那里证明我的错.

更新:

  • 第2部分:这可以用来查看属性的内部代码吗?
  • 第3部分:性能如何?

最终结果
我了解了MethodBase.GetCurrentMethod().我还了解到,我不仅可以创建堆栈跟踪,而且如果需要,我只能创建我需要的确切帧.

要在属性中使用它,只需使用.Substring(4)删除'set_'或'get_'.

.net reflection

198
推荐指数
10
解决办法
6万
查看次数

获取在C#中调用方法的实例

我正在寻找一种算法,可以在该方法中获取调用该方法的对象.

例如:

public class Class1 {

    public void Method () {
        //the question
        object a = ...;//the object that called the method (in this case object1)
        //other instructions
    }

}

public class Class2 {

    public Class2 () {
        Class1 myClass1 = new Class1();
        myClass1.Method();
    }

    public static void Main () {
        Class2 object1 = new Class2();
        //...
    }

}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

c# methods class instance

16
推荐指数
2
解决办法
2万
查看次数

使用C#反射来访问堆栈跟踪中的对象

我想在.NET中使用反射来访问调用我的方法的对象.我认为以某种方式可以查看堆栈跟踪.我知道由于各种原因它并不安全,但我只需要抓取并编目一些属性值.

我该怎么做呢?

更新:我是个白痴,我忘了说这是在C#

.net c# reflection

3
推荐指数
1
解决办法
2654
查看次数

你可以自动传递"this"作为参数吗?

是否有自动this作为参数传递给函数的选项?例如,您可以使用[CallerMemberName]自动传递string名称.我正在寻找确切的选择this.

例:

void PassMeThis([AutomaticThisParam] object source);
Run Code Online (Sandbox Code Playgroud)

和用法:

public class SomeClass{    
    void SomeMethod(){
        PassMeThis(); // instead of PassMeThis(this)
    }
}
Run Code Online (Sandbox Code Playgroud)

c# parameters methods

0
推荐指数
1
解决办法
119
查看次数

标签 统计

c# ×3

.net ×2

methods ×2

reflection ×2

class ×1

instance ×1

parameters ×1