Solved

is it possible to change from DateTime?  to DateTime?

Posted on 2009-04-02
5
271 Views
Last Modified: 2013-12-17
hello experts,

i have a method where values can be null, the params are DateTime?
inside  my method, I call another method with DateTime values that i check first if they are not null,
the inner method has not DateTime? params,

how can i change from "DateTime?" to "DateTime" ?
0
Comment
Question by:toshi_
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 18

Expert Comment

by:philipjonathan
ID: 24047993
The question is what datetime value should you pass into the inner method, if the outer method receives null DateTime?

One way is to pass in DateTime.MinValue:
if (dateTime == null)
  InnerMethod(DateTime.MinValue);

Another way is to skip calling InnerMethod altogether if DateTime is null:
if (dateTime != null)
  InnerMethod(dateTime);
0
 

Author Comment

by:toshi_
ID: 24048923
thank you for your answer,
i didnot succed with your help,

here's the situation.

i have an object drain wich contain the following getter:

OBJET DRAIN
 public DateTime?  DrainDate
        {
            set { DrainDate_ = value ; }
            get
            {
                return ((DrainDate_ != null)? DrainDate_ : DateTime.MinValue);
            }
           
        }

when i try to get the value i receive the error : cannot  convert from nullable datetime to target datetime.

  foreach (Drain currentDrain in _Drains)
                {
                    DateTime _currentDrainDate = currentDrain.DrainDate;

this last line refuses to accept my value.
any idea, on how to do it?
0
 

Author Comment

by:toshi_
ID: 24048954
ok, i could change the line like this:
foreach (Drain currentDrain in _Drains)
                {
                    DateTime? _currentDrainDate = currentDrain.DrainDate;

and it will pass,
the problem is that i use _currentDrainDate later on my inner method,
and the method i give it to ,  is not declare with a parameter of type "DateTime?" but "DateTime"
0
 
LVL 18

Accepted Solution

by:
philipjonathan earned 250 total points
ID: 24049822
If that's the case, you can just use cast. Try:

foreach (Drain currentDrain in _Drains)
{
    DateTime _currentDrainDate = (DateTime) currentDrain.DrainDate;
0
 

Author Comment

by:toshi_
ID: 24050059
thank you very much,

i didnt think about trying that,
i try several things but not that cast,
"IT DID IT" , as we say in french switzerland ;o)

best regards.


0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous article (http://www.experts-exchange.com/Programming/Languages/.NET/.NET_Framework_3.x/A_4362-Serialization-in-NET-1.html) we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question