<< Chapter < Page
  Xna game studio     Page 10 / 12
Chapter >> Page >

What do you do with invalid data

It usually isn't too difficult to write code to implement a set of rules to validate the incoming data. The hard part is figuring out what to do if theincoming data is not valid. The choices range all the way from flagging the data as invalid as shown in Listing 4 to throwing an exception which, if not properly handled, will cause the program to terminate. The circumstances dictate theaction to be taken.

Program output

The code in Listing 3 calls the setColor method twice. The first call passes a valid string, "Red", as a parameter. The second call passes an invalid string, "Green", as a parameter. This causes the second and third lines of text in Figure 1 to be displayed by the program.

Set, get, and display a property value with a valid value

As mentioned earlier, C# uses a special approach to identify properties. (You will see the code in TargetClass that accomplishes this shortly.) In the meantime, the code in Listing 5 (which is still part of the Main method) first sets, then gets, and finally displays the value of a property named height belonging to the object referenced by the contents of the variable named obj .

Listing 5 . Set, get, and display a property value with a valid value.

obj.height = 20; Console.WriteLine("height: " + obj.height);

Looks can be deceiving

If you compare Listing 5 with Listing 1 , you will see that there is essentially no difference in the syntax of the code in the two listings. The syntax in both listings suggests that a value is beingdirectly assigned to a public instance variable belonging to the object. As we already know, that is true for Listing 1 . However, that is not true for Listing 5 .

A set Accessor method

Although it doesn't look like it, the code in Listing 5 is actually calling a special set Accessor method that hides the implementation behind a public interface. As you will see shortly, this special method contains validation code similarwhat you saw in Listing 4 .

A get Accessor method

Once again, although it doesn't look like it, the last statement in Listing 5 is actually calling a special get Accessor method belonging to the object to get the current value of the property. That method returns the value stored in the property. As before, thereturned value is concatenated with a literal string and passed to the WriteLine method of the Console class for display on the black screen.

The set Accessor and get Accessor methods for the property named height

Returning to the class named TargetClass , the special set Accessor and get Accessor methods for the property named height are shown in Listing 6 .

Listing 6 . The set Accessor and get Accessor methods for the property named height.

private int heightData; public int height{get{ return heightData;}//end get set{//Validating code if(value<84){ heightData = value;}else{ heightData = 0;}//end else }//end set}//end height property

A hidden parameter named value

The value on the right side of the assignment operator in Listing 5 arrives on the set side of the code in Listing 6 as a hidden parameter named value .

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Xna game studio. OpenStax CNX. Feb 28, 2014 Download for free at https://legacy.cnx.org/content/col11634/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Xna game studio' conversation and receive update notifications?

Ask