Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 376
  • Last Modified:

Reflection GetValue method throwing an exception when there is no value in the property?

hi,

I am using Reflection to check if a property exists and get the value.
It is working fine when there is a value in that property. But "GetValue" is throwing an exception "Object reference not set to instance of an object" when there is no value.

How can I make sure it does not throw exception if there is no value. It looks like I need to check some other property before invoking GetValue. Thanks for any help.

PropertyInfo info = null;
info = Parties[i - 1].GetType().GetProperty(partyfield.Node);
if (info != null)
{
fieldvalue = info.GetValue(Parties[i - 1], null).ToString();
}
0
ipjyo
Asked:
ipjyo
  • 2
2 Solutions
 
Wayne Taylor (webtubbs)Commented:
It's your use of ToString() which is causing the error. What is the Type of the property you are retrieving?

Wayne
0
 
kris_perCommented:

webtubbs has correctly pointed out the reason...to prevent exception, your code should be like:



PropertyInfo info = null;
info = Parties[i - 1].GetType().GetProperty(partyfield.Node);
if (info != null)
{
      object objValue = info.GetValue(Parties[i - 1], null);
      if(objValue != null) fieldvalue = objValue.ToString(); // depending on type of objvalue, ToString will return value of type name; you have to make sure you get value
      else fieldvalue = "";
} 

Open in new window

0
 
ipjyoAuthor Commented:
Thank you.
0
 
ipjyoAuthor Commented:
It is working now.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now