|
Yes, VB.NET does support this. I don't use VB.NET, so you'll need to google for the syntax.
http://www.google.com.au/search?sourceid=navclient&ie=UTF-8&rlz=1T4ADBS_enAU225AU226&q=vb%2enet+optional+parameter[^]
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
In C# it is OK too, can you show me how?
Thanks
Shay Noy
|
|
|
|
|
No
Google[^]
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
What is suppose to be?
No
Google[^]
Shay Noy
|
|
|
|
|
Did you click on the link Christian provided you?? It lists a bunch of articles on the use of optional parameters in C#.
|
|
|
|
|
Yes , I ve checked but I didn't find what I am looking for.
Thank you
Shay Noy
|
|
|
|
|
I've read the first three articles in the list Christian gave you. Yes, the answers to the C# Optional Parameter problem you're looking for are there.
They all start by saying that C# doesn't support optional parameters. Then they go into possible solutions to get aorund this limitation. If you bothered to read them, you would have found this out.
|
|
|
|
|
I know I saw it
"...The case he makes is pretty straightforward, namely, that C# doesn't support optional parameters and forces you to use overloading..."
They say that overloading is solution. It is what you suggested to me in one of our correspondence below.
What I've searched was optional date parameter with default value [today].
Thank you
Shay Noy
|
|
|
|
|
Yep. C# doesn't support option parameters, no matter what the type of the parameters are.
The absolute #1 skill you can have as a developer/programmer/whateverYouWantToCallIt is the ability to do research, not write code. You searched for a VERY specific occurance of a situation and stopped there. You didn't generalize your search parameters at all when you Googled for "optional date parameter with default value". You should have opened this up to possibly more hits by searching for "C# optional parameters".
|
|
|
|
|
Thank you for the tip
Shay Noy
|
|
|
|
|
No, despite my pleading, the C# team refuses to impliment them. They are stuck on the idea that it has to be complicated ( i.e. support for named parameters, etc )
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
No.
you can not specify an expression/variable while defining an optional parameter.
it needs to be a constant......
Ashish Sehajpal
|
|
|
|
|
Try this :-
Function f(Optional Byval d as Date = nothing) as object<br />
If d = nothing then<br />
d=System.Date.Today<br />
End If<br />
' rest of your code here<br />
End Function
Steve Jowett
-------------------------
It is offen dangerous to try and see someone else's point of view, without proper training. Douglas Adams (Mostly Harmless)
|
|
|
|
|
Thank you , this is what I am doing but this function is a part of a dll that I wrote and it is used by 5 different programmers.
When they used this function then instead of seeing that the optional date is set to today they see that the optional date is set to nothing (#12:00:00#). It is not very elegant for the programmer.
Shay Noy
|
|
|
|
|
Agreed, but I see no other solution. I would suggest that you add a metadata description to the function and detail what will happen if the date passed to the function is nothing.
Steve Jowett
-------------------------
It is offen dangerous to try and see someone else's point of view, without proper training. Douglas Adams (Mostly Harmless)
|
|
|
|
|
|
In works in VB.NET 2005 and 2008. On the line emmediately above the function, sub, property etc type 3 single quotes ie ''' The rest is done for you.
Steve Jowett
-------------------------
It is offen dangerous to try and see someone else's point of view, without proper training. Douglas Adams (Mostly Harmless)
|
|
|
|
|
You right it works if the function, sub , property are as part of the same project. But try to write a dll, add ''' in one of your function and use this dll in one of your applications, it will not work.
Shay Noy
|
|
|
|
|
Then forget the optional parameter and write an overloaded function, one that takes a Date parameter and one that doesn't. In the one that doesn't, you simply declare an internal variable that's set to todays date.
|
|
|
|
|
|
Hi all,
I'm developing an application in VB2005.Net 2.0 and I would like to use a C header file that contains many structs that I need in the project. This structs are going to change quite often so I wouldn't like to migrate the structs from the C file to VB code each time that the header file changes. The best thing for me would be to include the '.h' file directly into my project so I could access it directly.
Is it possible to do it in any way? Could it be possible to do it encapsulating the '.h' file into a library and then reference it from the VB project?
Thanks in advance for any idea you have,
Marc Soleda
... she said you are the perfect stranger she said baby let's keep it like this... Dire Straits
|
|
|
|
|
Perhaps if you make a C++/CLI dll, you could do it.
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
I've done it but I just have access to the struct name and not to its subelements. I mean:
In the .h header file:
<br />
....<br />
public struct S_ERRORS{<br />
unsigned char uHall2;<br />
unsigned char uHall1;<br />
}<br />
...<br />
Inside the VB project, I can declare a S_ERRORS variable but I cannot access to its element: uHall1, uHall2
Is there any way to access to this elements?
Thanks in advance,
Marc Soleda
... she said you are the perfect stranger she said baby let's keep it like this... Dire Straits
|
|
|
|
|
Marc Soleda wrote: I've done it
Done what?? Did you compile this into a MANAGED (C++ CLI) .DLL or into a normal Windows library .DLL (unmanaged code). If unmanaged, you won't be able to use the structures defined in the .DLL.
|
|
|
|
|
Into a C++/CLI dll: I can declare a structure variable defined in the library but no access to its elements
... she said you are the perfect stranger she said baby let's keep it like this... Dire Straits
|
|
|
|