none
感谢各位最近的答疑解惑!今天又有3个认识性问题请教:1.引用;2.枚举;3.动态曲线。 RRS feed

  • 问题

  • 1、在程序中点击右键查看某个方法的“查看所有引用”,是不是只显示它自己本身,就说明这个方法在整个程序中没有用过,可以删掉?(如图1)

    其次,请解释一下 红框 中的意思。(如图2)

    2、枚举类型用法能不能做个简要概括,这个不懂。为什么Enum一下后边就用了,里面的东西是在哪定义的,表示什么意思,为什么类型 属性值都不知道就可以用。。。。(如图3 、4)

    3、动态读取实时数据并显示曲线(多条或一条),哪位大神有代码可否发我一下,谢谢。(suicide6655@163.com)

    谢谢各位!

    图1

    图2

    图3

    图4

    • 已编辑 AK_L 2016年7月29日 1:34
    2016年7月29日 1:23

答案

  • Hi,

    >>2、枚举类型用法能不能做个简要概括,这个不懂。为什么Enum一下后边就用了,里面的东西是在哪定义的,表示什么意思,为什么类型 属性值都不知道就可以用。。。。(如图3 、4)

    枚举类型就相当于常量,你定义一个枚举类型,里面的变量相当于整型(1,2,3,4......),例如下面的代码:

    public enum CarOptions
    {
        // The flag for SunRoof is 0001.
        SunRoof = 0x01,
        // The flag for Spoiler is 0010.
        Spoiler = 0x02,
        // The flag for FogLights is 0100.
        FogLights = 0x04,
        // The flag for TintedWindows is 1000.
        TintedWindows = 0x08,
    }
    
    


    如果你在main函数中调用如下代码

    CarOptions options = CarOptions.SunRoof | CarOptions.FogLights;
    
                 // the value 1 in variable options.
            Console.WriteLine(options);
            // The integer value of 0101 is 5.
            Console.WriteLine((int)options);
    

    程序最终输出的是整形5。

    关于详细的说明,可以看下面的链接https://msdn.microsoft.com/en-us/library/sbbt4032.aspx

    希望我的回答对你有所帮助,如果你的问题解决了,请mark这个帖子。

    谢谢


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. Click HERE to participate the survey.

    2016年7月29日 5:12
    版主

全部回复

  •                      

    1、在程序中点击右键查看某个方法的“查看所有引用”,是不是只显示它自己本身,就说明这个方法在整个程序中没有用过,可以删掉?(如图1)

    不一定可以删,还有可能是被反射的方法调用。

    其次,请解释一下 红框 中的意思。(如图2)   这里是静态的引用,涉及到反射是运行时调用

    2、枚举类型用法能不能做个简要概括,这个不懂。为什么Enum一下后边就用了,里面的东西是在哪定义的,表示什么意思,为什么类型 属性值都不知道就可以用。。。。(如图3 、4)

    枚举是这样用,枚举值在枚举内部定义,供外部使用

    3、动态读取实时数据并显示曲线(多条或一条),哪位大神有代码可否发我一下,谢谢。(suicide6655@163.com)

    暂无,论坛不提供代码服务


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

    2016年7月29日 3:31
  • Hi,

    >>2、枚举类型用法能不能做个简要概括,这个不懂。为什么Enum一下后边就用了,里面的东西是在哪定义的,表示什么意思,为什么类型 属性值都不知道就可以用。。。。(如图3 、4)

    枚举类型就相当于常量,你定义一个枚举类型,里面的变量相当于整型(1,2,3,4......),例如下面的代码:

    public enum CarOptions
    {
        // The flag for SunRoof is 0001.
        SunRoof = 0x01,
        // The flag for Spoiler is 0010.
        Spoiler = 0x02,
        // The flag for FogLights is 0100.
        FogLights = 0x04,
        // The flag for TintedWindows is 1000.
        TintedWindows = 0x08,
    }
    
    


    如果你在main函数中调用如下代码

    CarOptions options = CarOptions.SunRoof | CarOptions.FogLights;
    
                 // the value 1 in variable options.
            Console.WriteLine(options);
            // The integer value of 0101 is 5.
            Console.WriteLine((int)options);
    

    程序最终输出的是整形5。

    关于详细的说明,可以看下面的链接https://msdn.microsoft.com/en-us/library/sbbt4032.aspx

    希望我的回答对你有所帮助,如果你的问题解决了,请mark这个帖子。

    谢谢


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. Click HERE to participate the survey.

    2016年7月29日 5:12
    版主
  • 谢谢li兄,但是 反射 是什么意思? 我在VS2015版本中打开,上边有的显示引用个数,有的显示 0个引用。 没有引用,那不就说明程序没有运行到过这里吗??求解答!谢谢
    2016年7月29日 6:26
  • 谢谢! Enum我指明白他们的赋值,但是在别的地方用,只是应用他们的二进制默认值吗?(如图3 、4,Enum时并未赋值,便是默认值吧0,1,2,3,4......,这地方我有点糊涂啊)
    2016年7月29日 6:28
  • 谢谢! Enum我指明白他们的赋值,但是在别的地方用,只是应用他们的二进制默认值吗?(如图3 、4,Enum时并未赋值,便是默认值吧0,1,2,3,4......,这地方我有点糊涂啊)


    如果你不赋值,默认情况下就是从0开始的,如果你把第一个值赋值成4,后面依次递增加1.

    Hart提供的链接里面,有详细的解释



    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.



    2016年7月29日 6:33
  • 0个引用

    表示当前项目中没有发现有引用此方法的对象的方法存在,反射调用枚举,我贡献一点代码

     public enum TransactionType
        {
            [DisplayText("Sales Order"), StringValue("SLSO")]
            SalesOrderEntry = 1

    }

     object[] attribute = null;
                Type enumType = typeof(TransactionType);
                foreach (Enum enumValue in Enum.GetValues(enumType))
                {
                    fi = enumType.GetField(enumValue.ToString());
                    attribute = fi.GetCustomAttributes(typeof(HiddenEnumAttribute), false) as HiddenEnumAttribute[];
                    if (attribute.Length == 0 || !((HiddenEnumAttribute)attribute[0]).Value)
                    {                  

                        DataRow row = table.NewRow();
                        row["StringValue"] = StringEnum.GetStringValue(enumValue);
                        row["DisplayText"] = StringEnum.GetDisplayText(enumValue);

              }


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


    2016年7月29日 7:46