Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Default value (null) for int data
Message
De
07/04/2008 14:06:54
 
 
Information générale
Forum:
ASP.NET
Catégorie:
Code, syntaxe and commandes
Versions des environnements
Environment:
C# 2.0
OS:
Windows XP
Database:
MS SQL Server
Divers
Thread ID:
01308785
Message ID:
01308794
Vues:
10
This message has been marked as a message which has helped to the initial question of the thread.
>>>Hi everybody,
>>>
>>>I have the following method signature:
>>>
>>> public List<MembershipUserWrapperForMP> GetMembers(bool approvalStatus, string sortData, string ExcludeRole, int SiteID)
>>>
>>>I want to be able to call it without 3 last parameters (they should be optional).
>>>
>>>However, this declaration:
>>>
>>>
>>>[DataObjectMethod(DataObjectMethodType.Select, false)]
>>>        public List<MembershipUserWrapperForMP> GetMembers()
>>>        {
>>>            return GetMembers(true, true, null, null, null, null);
>>>        }
>>>
>>>produces the following error:
>>>Error 103 Argument '6': cannot convert from '' to 'int' C:\Development\Visual Studio 2005\WebSites\FCAdmin\App_Code\MembershipUserAndProfileODS.cs 160 61 C:\...\FCAdmin\
>>>
>>>
>>>There is not that much help in MS Help on this error.
>>>
>>>Could you please tell me what should I use if I want to have optional integer parameter?
>>>
>>>Thanks a lot in advance.
>>
>>__
>>Nadya,
>>
>>I think you'll have to overload it, ie provide same method with different signature
>>
>>
>>public List<MembershipUserWrapperForMP> GetMembers(bool approvalStatus, string sortData, string ExcludeRole, int SiteID)
>>{
>>// you will have to test for (sortData==null), etc
>>....
>>}
>>
>>public List<MembershipUserWrapperForMP> GetMembers(bool approvalStatus)
>>{
>>   return GetMembers(bool approvalStatus, null, null, 0)  && or -1
>>}
>>
>
>Here is what compiles:
>
>return GetMembers(true, true, null, null, null, System.Convert.ToInt32(null) );
>
>I'm not sure if this is correct and if my check in the code
>
> if (SiteID == null || md.SiteID == SiteID )
> memberList.Add(md);
>
>is correct now.
>
>For strings null works great, but what should I use for integers? I may use some arbitrary number as default, say, -3200000, but is it correct?

___
For int you can use
-1 if SiteID always >=0
0 if SiteID always > 0

or Int32.MinValue : http://msdn2.microsoft.com/en-us/library/system.int32_fields(vs.71).aspx
Gregory
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform