有一个问题我无法想通

weikeli19 2016-02-18 11:19:51
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;

namespace delete1
{
class Program
{
static void Main(string[] args)
{
string className = MethodBase.GetCurrentMethod().ReflectedType.FullName; //在静态方法中获取类的名称
Console.WriteLine(className);
}
}
}

我的问题是这个函数GetCurrentMethod()返回的是MethodBase 对象,并不是Program对象啊,里面是什么机制?
如果GetCurrentMethod()返回的是Program对象 那么后面的.ReflectedType.FullName得出的delete1.Program 就好理解了!谢谢了 高分献上 懂我意思吗
...全文
210 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weikeli19 2016-02-18
  • 打赏
  • 举报
回复
按照这样的推断屏幕上应该显示的是delete1.MethodBase啊!
xuzuning 2016-02-18
  • 打赏
  • 举报
回复
没有问题,输出的就是 delete1.Program 因为你去到的是 FullName 属性值
weikeli19 2016-02-18
  • 打赏
  • 举报
回复
对 !控制台屏幕上应该显示的是System.Reflection.MethodBase
fudapeng7 2016-02-18
  • 打赏
  • 举报
回复
返回一个父类(爷类,甚至Object类)对象~~~~ 照你的意思,Program应该是MethodBase 的子类
Poopaye 2016-02-18
  • 打赏
  • 举报
回复
返回的是System.Reflection.MethodBase 返回类型是方法自己决定的,有什么机制? 就好像 int a() { return 1; } 返回的是int,不是delete1.int,一样的道理

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧