如何得到object的名称?

jacobsan 2007-02-08 11:50:32
假设一个函数func_a(object a){}
调用
int myint=9;
func_a(myint);

这里如何得到对象a的名称"myint"??谢谢了
...全文
619 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacobsan 2007-02-09
  • 打赏
  • 举报
回复
up下
jxf654 2007-02-09
  • 打赏
  • 举报
回复
up
jacobsan 2007-02-08
  • 打赏
  • 举报
回复
要求不另添参数
王集鹄 2007-02-08
  • 打赏
  • 举报
回复
private void func_a(string AFormat, params object[] AObject)
{
textBox1.AppendText(string.Format(AFormat, AObject) + "\r\n");
}

private void button1_Click(object sender, EventArgs e)
{
int myint = 9;
int myint2 = 9;
func_a("myint={0} myint2={1}", myint, myint2);
}
jacobsan 2007-02-08
  • 打赏
  • 举报
回复
参数个数不定,类型不定
jacobsan 2007-02-08
  • 打赏
  • 举报
回复
实际是
func_a(params object[] a){}
调用
int myint=9;
int myint2=9;
func_a(myint,myint2);

我需要得到每个参数的名字与值
yitian130 2007-02-08
  • 打赏
  • 举报
回复
学习
jacobsan 2007-02-08
  • 打赏
  • 举报
回复
我需求print类似这样的格式 “变量名:变量值”
需要写一个通用的函数,因为参数传进来是一个参数数组
谢谢,继续加分
jacobsan 2007-02-08
  • 打赏
  • 举报
回复
求一个简单有效的办法~谢谢
王集鹄 2007-02-08
  • 打赏
  • 举报
回复
对象的属性是有对象所属的类型决定的
对象自己没有办法直接增加新属性

搂主实际是要解决什么问题,需要这样的功能?
看看有什么方法变通
jacobsan 2007-02-08
  • 打赏
  • 举报
回复
谢谢楼上,那能否将值对象封装成一个有name属性的object呢?
王集鹄 2007-02-08
  • 打赏
  • 举报
回复
对于值对象来说是没有名字的,加分?以身相许也没用
参考如下代码,可以判断对象是否存在Name属性以取之

using System.Reflection;

private string GetNameProperty(object AObject)
{
if (AObject == null) return "";
Type vType = AObject.GetType();
PropertyInfo vPropertyInfo = vType.GetProperty("Name");
if (vPropertyInfo != null)
return vPropertyInfo.GetValue(AObject, null).ToString();
else return "";
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(GetNameProperty(this)); // Form1
}
jacobsan 2007-02-08
  • 打赏
  • 举报
回复
加分求助~~
灰太狼 2007-02-08
  • 打赏
  • 举报
回复
你的想法不對,是無法取到的
jacobsan 2007-02-08
  • 打赏
  • 举报
回复
那类似这样传参数如何得到参数的变量名呢?谢谢!
王集鹄 2007-02-08
  • 打赏
  • 举报
回复
不是所有的对象都有name属性
int myint = 9;
int myint2 = myint;
int myint3 = myint;

你说func_a(myint3);该是多少?
你说func_a(9);该是多少?
jacobsan 2007-02-08
  • 打赏
  • 举报
回复
求助~~
xk000 2007-02-08
  • 打赏
  • 举报
回复
学习中... 欢迎加入ASP.NET(C#)学习交流QQ群号:32801051
starcbh 2007-02-08
  • 打赏
  • 举报
回复
当你要用这个东西的时候,你应该考虑修改你的程序
danjiewu 2007-02-08
  • 打赏
  • 举报
回复
程序编译好后其实是不存在什么变量名之类的东西的........
只不过用寄存器来保存一个地址而已

=======================================================

在C++里是这样的,Java和C#里面还是保存了名字的。
加载更多回复(13)

110,565

社区成员

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

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

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