Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 85545
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T22:06:22+00:00 2026-05-10T22:06:22+00:00

I have a series of Extension methods to help with null-checking on IDataRecord objects,

  • 0

I have a series of Extension methods to help with null-checking on IDataRecord objects, which I’m currently implementing like this:

public static int? GetNullableInt32(this IDataRecord dr, int ordinal) {     int? nullInt = null;     return dr.IsDBNull(ordinal) ? nullInt : dr.GetInt32(ordinal); }  public static int? GetNullableInt32(this IDataRecord dr, string fieldname) {     int ordinal = dr.GetOrdinal(fieldname);     return dr.GetNullableInt32(ordinal); } 

and so on, for each type I need to deal with.

I’d like to reimplement these as a generic method, partly to reduce redundancy and partly to learn how to write generic methods in general.

I’ve written this:

public static Nullable<T> GetNullable<T>(this IDataRecord dr, int ordinal) {     Nullable<T> nullValue = null;     return dr.IsDBNull(ordinal) ? nullValue : (Nullable<T>) dr.GetValue(ordinal); } 

which works as long as T is a value type, but if T is a reference type it won’t.

This method would need to return either a Nullable type if T is a value type, and default(T) otherwise. How would I implement this behavior?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T22:06:23+00:00Added an answer on May 10, 2026 at 10:06 pm

    You can just declare your method like this:

    public static T GetNullable<T>(this IDataRecord dr, int ordinal) {     return dr.IsDBNull(ordinal) ? default(T) : (T) dr.GetValue(ordinal); } 

    This way, if T is a nullable int or any other nullable value type, it will in fact return null. If it’s a regular datatype, it will just return the default value for that type.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a series of datetime objects and would like to calculate the average
I have a series of extension methods defined for various classes in a C#
I have a series of elements like this: <h1>...</h1> <p>.......</p> <h1>...</h1> <p>.......</p> <!-- etc.
I have a series of PDFs named sequentially like so: 01_foo.pdf 02_bar.pdf 03_baz.pdf etc.
I have a series of performance tests I would like to show as a
I'm currently struggling to understand how I should organize/structure a class which I have
I have a series of checkboxes and I would like to append the text
I have a series of commits by different authors and I would like to
I have a series of functional tests against a web application that correctly run,
We have a series of drop down controls that determine the sort order of

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.