相关疑难解决方法(0)

如何找到调用当前方法的方法?

登录C#时,如何学习调用当前方法的方法的名称?我知道所有这些System.Reflection.MethodBase.GetCurrentMethod(),但我想在堆栈跟踪中向下迈出一步.我考虑过解析堆栈跟踪,但我希望找到一种更清晰,更明确的方法,比如Assembly.GetCallingAssembly()方法.

.net c# logging system.diagnostics stack-trace

465
推荐指数
11
解决办法
21万
查看次数

可用于打印方法名称的宏/关键字?

__FILE__并且__LINE__众所周知.__func__自C99以来有一个.

#include <iostream>
struct Foo {
        void Do(){ std::cout << __func__ << std::endl; }
};

int main()
{
        std::cout << __func__ << std::endl;
        Foo foo; foo.Do();
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

将输出

main
Do
Run Code Online (Sandbox Code Playgroud)

是否有任何输出方法名称的宏/关键字Foo::Do

c c++

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

4.5"中的CallerMemberName属性是否能够伪造"?

所以.NET 4.5引入了CallerMemberNameAttribute,对于任何使用WPF并实现的人来说,这似乎是天赐之物INotifyPropertyChanged- 我的问题是:4.5 5.0编译器本质上是否绑定/支持该属性,还是更多的环境语法糖助手,就像人们可以通过声明ExtensionAttribute自己的神奇,打开LINQ语法来伪造Visual Studio一样?

编辑:(对不起Jon!)我想我是否可以CallerMemberNameAttribute通过在适当的命名空间中重新声明属性来"启用" .NET 4.0中的功能,就像在.NET中"启用"LINQ查询语法一样2.0通过适当的ExtensionAttribute类声明.我强烈的怀疑是不,自然......

换句话说:我想知道如果CallerMemberName不升级到.NET 4.5/5,我是否可以从中受益

希望这更清楚......

NinjaEdit#2:叹息......版本编号惯例令人困惑!

.net wpf .net-4.5

26
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×2

.net-4.5 ×1

c ×1

c# ×1

c++ ×1

logging ×1

stack-trace ×1

system.diagnostics ×1

wpf ×1