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 就好理解了!谢谢了 高分献上 懂我意思吗? 控制台屏幕上应该显示的是System.Reflection.MethodBase完全限定名才对啊 请高手指教
10 个解决方案
#1
GetCurrentMethod()返回的是MethodBase 对象,没关系啊。GetCurrentMethod()运行完应该得到了当前方法的对象,并且存到MethodBase对象 中了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
#2
没有问题,输出的就是 delete1.Program
#3
MethodBase.GetCurrentMethod() ---> 获得System.Reflection.MethodBase对象,此处它表示delete1.Program.Main方法
.ReflectedType ---> 获得System.Type对象,此处它表示delete1.Program这个类型
.FullName; --->获得string对象
.ReflectedType ---> 获得System.Type对象,此处它表示delete1.Program这个类型
.FullName; --->获得string对象
#4
请问这一句 GetCurrentMethod()运行完应该得到了当前方法的对象,什么叫当前方法的对象
#5
GetCurrentMethod()应该是获取当前方法的相关信息,当前方法中可以获取方法所在的类型。
#6
这个是静态的就没有,不是静态的应该有。
当前方法所在的名称空间?嘿嘿嘿!
#7
俺懂了..............
#8
GetCurrentMethod()返回的是MethodBase 对象,没关系啊。GetCurrentMethod()运行完应该得到了当前方法的对象,并且存到MethodBase对象 中了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
请问这一句 GetCurrentMethod()运行完应该得到了当前方法的对象,什么叫当前方法的对象
这个是静态的就没有,不是静态的应该有。
当前方法所在的名称空间?嘿嘿嘿!
6楼的你说的不对 是当前方法信息 比如名称啊
#9
GetCurrentMethod()返回的是MethodBase 对象,没关系啊。GetCurrentMethod()运行完应该得到了当前方法的对象,并且存到MethodBase对象 中了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
用这个语法 你就知道 那个方法发生了什么事 string className = MethodBase.GetCurrentMethod().ToString();
#10
GetCurrentMethod()返回的是MethodBase 对象,没关系啊。GetCurrentMethod()运行完应该得到了当前方法的对象,并且存到MethodBase对象 中了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
用这个语法 你就知道 那个方法发生了什么事 string className = MethodBase.GetCurrentMethod().ToString();
\有道理。哈哈哈。
#1
GetCurrentMethod()返回的是MethodBase 对象,没关系啊。GetCurrentMethod()运行完应该得到了当前方法的对象,并且存到MethodBase对象 中了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
#2
没有问题,输出的就是 delete1.Program
#3
MethodBase.GetCurrentMethod() ---> 获得System.Reflection.MethodBase对象,此处它表示delete1.Program.Main方法
.ReflectedType ---> 获得System.Type对象,此处它表示delete1.Program这个类型
.FullName; --->获得string对象
.ReflectedType ---> 获得System.Type对象,此处它表示delete1.Program这个类型
.FullName; --->获得string对象
#4
GetCurrentMethod()返回的是MethodBase 对象,没关系啊。GetCurrentMethod()运行完应该得到了当前方法的对象,并且存到MethodBase对象 中了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
请问这一句 GetCurrentMethod()运行完应该得到了当前方法的对象,什么叫当前方法的对象
#5
GetCurrentMethod()应该是获取当前方法的相关信息,当前方法中可以获取方法所在的类型。
#6
GetCurrentMethod()返回的是MethodBase 对象,没关系啊。GetCurrentMethod()运行完应该得到了当前方法的对象,并且存到MethodBase对象 中了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
请问这一句 GetCurrentMethod()运行完应该得到了当前方法的对象,什么叫当前方法的对象
这个是静态的就没有,不是静态的应该有。
当前方法所在的名称空间?嘿嘿嘿!
#7
俺懂了..............
#8
GetCurrentMethod()返回的是MethodBase 对象,没关系啊。GetCurrentMethod()运行完应该得到了当前方法的对象,并且存到MethodBase对象 中了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
请问这一句 GetCurrentMethod()运行完应该得到了当前方法的对象,什么叫当前方法的对象
这个是静态的就没有,不是静态的应该有。
当前方法所在的名称空间?嘿嘿嘿!
6楼的你说的不对 是当前方法信息 比如名称啊
#9
GetCurrentMethod()返回的是MethodBase 对象,没关系啊。GetCurrentMethod()运行完应该得到了当前方法的对象,并且存到MethodBase对象 中了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
用这个语法 你就知道 那个方法发生了什么事 string className = MethodBase.GetCurrentMethod().ToString();
#10
GetCurrentMethod()返回的是MethodBase 对象,没关系啊。GetCurrentMethod()运行完应该得到了当前方法的对象,并且存到MethodBase对象 中了。
ReflectedType这个方法返回的就是GetCurrentMethod()得到MethodBase对象了。这个对象里面就可以通过FullName得到当前对象的类名了。
用这个语法 你就知道 那个方法发生了什么事 string className = MethodBase.GetCurrentMethod().ToString();
\有道理。哈哈哈。