Thanks Brad. I think I understand what is happening now. Note that the C# code I posted works fine, you can pass in Null as mydate.
DateTime? mydate Gets translated by the C# compiler to System.Nullable<DateTime> mydate. When you pass in null to the method C# sets up a Nullable<DateTime> with the HasValue set to False. As far as I can tell there is no way to create such a thing in pythondotnet. Not sure whether this is a bug or a feature, but certainly explains why it is dazed and confused when I try to pass in None, it isn’t prepared to match the DateTime?. In this case, I have control of the C# code so I can just overload the method and work around this. Thanks for helping me understand what is going on. John From: PythonDotNet [mailto:pythondotnet-bounces+jgill=tokiomillennium....@python.org] On Behalf Of Brad Friedman Sent: Wednesday, February 05, 2014 2:43 PM To: A list for users and developers of Python for .NET Cc: pythondotnet@python.org Subject: Re: [Python.NET] Passing in null as the value for a nullable type. DateTime is a struct. You have to pass a value. It should not take null. If you tried to do that in c# it would not allow it either. On Feb 5, 2014, at 11:46 AM, John Gill <jg...@tokiomillennium.com<mailto:jg...@tokiomillennium.com>> wrote: I am sure there is a really simple answer to this one… but so far it is eluding me. I have a class something like this: public class Foo { … public int process_date(DateTime? mydate) { … } } I want to call this from python using pythondotnet. Calling it like this works fine: mydate = DateTime(0) Foo().process_date(mydate) But if I try to pass in a null as the date as follows: Foo().process_date(None) I get: TypeError: No method matches given arguments Hoping there is something really obvious I am missing here. John This communication and any attachments contain information which is confidential and may also be legally privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of disclosure, distribution, copying, printing or use of this communication or the information in it or in any attachments is strictly prohibited and may be unlawful. If you have received this communication in error, please return it with the title "received in error" to postmas...@tokiomillennium.com<mailto:postmas...@tokiomillennium.com> and then permanently delete the email and any attachments from your system. E-mail communications cannot be guaranteed to be secure or error free, as information could be intercepted, corrupted, amended, lost, destroyed, arrive late or incomplete, or contain viruses. It is the recipient's responsibility to ensure that e-mail transmissions and any attachments are virus free. We do not accept liability for any damages or other consequences caused by information that is intercepted, corrupted, amended, lost, destroyed, arrives late or incomplete or contains viruses. ****************************************** _________________________________________________ Python.NET<http://Python.NET> mailing list - PythonDotNet@python.org<mailto:PythonDotNet@python.org> https://mail.python.org/mailman/listinfo/pythondotnet This communication and any attachments contain information which is confidential and may also be legally privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of disclosure, distribution, copying, printing or use of this communication or the information in it or in any attachments is strictly prohibited and may be unlawful. If you have received this communication in error, please return it with the title "received in error" to postmas...@tokiomillennium.com and then permanently delete the email and any attachments from your system. E-mail communications cannot be guaranteed to be secure or error free, as information could be intercepted, corrupted, amended, lost, destroyed, arrive late or incomplete, or contain viruses. It is the recipient's responsibility to ensure that e-mail transmissions and any attachments are virus free. We do not accept liability for any damages or other consequences caused by information that is intercepted, corrupted, amended, lost, destroyed, arrives late or incomplete or contains viruses. ******************************************
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet