当前位置: 代码迷 >> .NET Framework >> Image 对象赋值的有关问题
  详细解决方案

Image 对象赋值的有关问题

热度:62   发布时间:2016-05-01 23:34:05.0
Image 对象赋值的问题
在winform开发中,通过一个资源文件得到一个image对象,
Image bp =  global::Properties.Resources.pic1;
为什么下面的引用比较结果为false,
Object.ReferenceEquals(Resources.pic1, bp);

感觉是同一个引用应该为true才对啊( Object.Equals()同样为false),猜测是不是image类中重载了赋值运算符,求指教
------解决方案--------------------
看下resouce的源代码,应该是每次访问返回一个新的Image对象。
------解决方案--------------------
看了下Resouces的代码

/// <summary>
        ///   Looks up a localized resource of type System.Drawing.Bitmap.
        /// </summary>
        internal static System.Drawing.Bitmap output {
            get {
                object obj = ResourceManager.GetObject("output", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }

用reflector看ResourceManager.GetObject代码,比较复杂,但是我同意老曹的观点,每次Properties.Resources.pic1返回的是一个image的copy.
  相关解决方案