How to invoke a delegate with a null parameter?
- by Rodney Burton
I get a null exception if I try to pass a null parameter to a delegate during an invoke.  Here's what the code looks like:
        public void RequestPhoto()
        {
            WCF.Service.BeginGetUserPhoto(Contact.UserID,
                new AsyncCallback(RequestPhotoCB), null);
        }
        public void RequestPhotoCB(IAsyncResult result)
        {
            var photo = WCF.Service.EndGetUserPhoto(result);
            UpdatePhoto(photo);
        }
        public delegate void UpdatePhotoDelegate(Binary photo);
        public void UpdatePhoto(Binary photo)
        {
            if (InvokeRequired)
            {
                var d = new UpdatePhotoDelegate(UpdatePhoto);
                Invoke(d, new object[] { photo });
            }
            else
            {
                var ms = new MemoryStream(photo.ToArray());
                var bmp = new Bitmap(ms);
                pbPhoto.BackgroundImage = bmp;
            }
        }
The problem is with the line:
Invoke(d, new object[] { photo });
If the variable "photo" is null.  What is the correct way to pass a null parameter during an invoke?
Thanks!