none
如何打印变量名, int arry = 8; richTextBox1.Text += ????? + "\n";/输出为arry;要输出arry 不是 8 RRS feed

  • 问题


  •  //richTextBox1.Text += arry.GetType().ToString()+"\n";//  输出为  System.Int32
                //richTextBox1.Text += arry.GetType().Name.ToString() + "\n";//输出为Int32
                //richTextBox1.Text += arry.GetHashCode().ToString()+"\n";//输出为8;

    int arry = 8;     richTextBox1.Text += ????? + "\n";
    //输出为arry;要输出arry 不是 8// 我上面是错的 正确的请给下
    2016年12月2日 9:36

答案

  • 试下这几句

    int arry = 8;     richTextBox1.Text += new {arry}.GetVariableName()+ "\n";


    --------------------------------------------------------

    public static class ObjectExtensions {
        public static string GetVariableName<T>(this T obj) {
            System.Reflection.PropertyInfo[] objGetTypeGetProperties = obj.GetType().GetProperties();

            if(objGetTypeGetProperties.Length == 1)
                return objGetTypeGetProperties[0].Name;
            else
                throw new ArgumentException("object must contain one property");
        }
    }

    class Program {
        static void Main(string[] args) {
            string strName = "sdsd";
            Console.WriteLine(new {strName}.GetVariableName());

            int intName = 2343;
            Console.WriteLine(new { intName }.GetVariableName());
        }
    }

    http://stackoverflow.com/questions/729803/print-name-of-the-variable-in-c-sharp


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    • 已标记为答案 ning050089 2016年12月2日 15:49
    2016年12月2日 10:57

全部回复

  • 试下这几句

    int arry = 8;     richTextBox1.Text += new {arry}.GetVariableName()+ "\n";


    --------------------------------------------------------

    public static class ObjectExtensions {
        public static string GetVariableName<T>(this T obj) {
            System.Reflection.PropertyInfo[] objGetTypeGetProperties = obj.GetType().GetProperties();

            if(objGetTypeGetProperties.Length == 1)
                return objGetTypeGetProperties[0].Name;
            else
                throw new ArgumentException("object must contain one property");
        }
    }

    class Program {
        static void Main(string[] args) {
            string strName = "sdsd";
            Console.WriteLine(new {strName}.GetVariableName());

            int intName = 2343;
            Console.WriteLine(new { intName }.GetVariableName());
        }
    }

    http://stackoverflow.com/questions/729803/print-name-of-the-variable-in-c-sharp


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    • 已标记为答案 ning050089 2016年12月2日 15:49
    2016年12月2日 10:57
  • 谢谢 指点非常感谢
    2016年12月2日 15:49