Optional Parameters Cannot Have Structure Types?
Jan 12, 2010I would just like to know why. optional parameters cannot have structure types?
View 4 RepliesI would just like to know why. optional parameters cannot have structure types?
View 4 RepliesHowever, I am wondering if there are any workarounds or plans for incorporating this feature into VB.NET in the future?What I'd like to do:
Public Delegate Function Deserializer(Of T)(ByRef Buffer() As Byte, optional ByRef BufferPosition As Integer = 0) As T
'Implementation of a func that matches the delegate'
Class A
Public Function Deserialize(Byref Buffer() as Byte, optional Byref BufferPosition as integer = 0)
....
In the absence of specifying "optional" inside the actual delegate itself, it'd at least be nice to be able to do it in the function implementation only:
Public Delegate Function Deserializer(Of T)(ByRef Buffer() As Byte, ByRef BufferPosition As Integer) As T
'Implementation of a func that matches the delegate'
Class A
Public Function Deserialize(Byref Buffer() as Byte, optional Byref BufferPosition as integer = 0)
....
At least this second way, the functions for the delegate will always have a value mapped to each parameter, although some may come from the function side and not the calling side.
I tried DbNull.Value but no luck. How do I assign a default value as null to a string parameter that is null in VB.NET? Its litte strange to see that VB does not have anything like plain null as most of the other languages do. Also what is the difference between null and DbNull and Nothing.
View 3 RepliesWhat is the standard way to implement optional query parameters in a .NET WinForms application?In other words, only query on a field if the value of a corresponding control is not null.
EDIT: I use a FillBy method which calls a query in my Access database. In the TableAdapter query editor, I just used WHERE (field1 = ?) AND (field2 = ?) ... I just can't find the "hook" to bind form controls to the table adapter query parameters and so that if a form uses the default value to not query on it.
Public Function Foo(ByRef a As AClass, _
Optional ByRef b As BClass = Nothing, _
Optional ByRef c As CClass = Nothing) As XClass
Error : Optional parameters must specify a default value.
I am interacting with VB code on a different tier, using a client-side c# program. The VB function signature looks like this:
Public Sub toggleExclusion( _
ByVal mouse As Double, _
ByVal study As Integer, _
[Code]....
I get an error saying no overloaded method of toggleExclusion takes 2 arguments?
I have an object, called 'PERSON' This person object has a title, firstName & Surname property as well as many other which are at the moment irrelevant. It also has a read only property called Fullname which concatenates the two or three parameters mentioned above depending on an optional parameter 'withTitles' passed over when you call PERSON.FULLNAME
PERSON.FULLNAME(true) <- Will add titles if there are any
PERSON.FULLNAME(false) <- Will give the name without the title
Public ReadOnly Property FullName(Optional ByVal withTitle As Boolean = False) As String
[Code]...
I get an error: PERSON does not contain a property of 'FullName'. If I change this to any other property that does not take a parameter it works as expected. Now I'm guessing that the binding procedure can't handle optional or mandatory parameters for object properties, is this right? Is there a better way to do it? I thought about looping through the collection to add them manually but that kinda defeats the object of DataBinding!
Is there an equivalent in Java to VB.NET's optional parameters?Also is it possible to switch on anything other than integers in Java?
View 1 RepliesIs it possible to make Color variable parameters in custom classes Optional?Everytime I try, it gives me a "Constant expression required" error.[code]
View 2 RepliesI was familiar with the optional parameters in vb 6 and it made sense given the capabilities of the language but why the heck does VB.Net support optional parameters when there is method overloading? Which one should I use and is there a difference? If there is a difference when should I use each one?
View 4 RepliesI have a custom Attribute class where the constructor takes one fixed parameter and two optional parameters. It is my understanding that one can supply one or more optional parameters by using 'named parameters' such as this:
Private Sub CallMethod()
Me.OptionalMethod(-1, z:=1)
End Sub
[code]....
Well, I thought, perhaps Attributes don't support named parameters. I know they can behave a little weird (they don't support all types in their arguments for example I think), so I thought little of it.But then... I noticed something else. If you take a look at my code of the attribute class again. Notice that I am using an attribute on that class as well... And what do you know: named parameters. Working just fine... The AttributeUsage attribute has the exact same configuration: one fixed parameter and two optional parameters. I seem to be able to call them using named parameters just fine, where I cannot call my own attribute constructor with named parameters...
Most of our code base is in VB.NET. I'm developing a project in C# that uses a lot of the assemblies from the VB.NET code.There are three relevant classes in VB.NET:
[Code]...
I'm using a stored procedure to updateinsert data into a table using MERGE. One of the items being inserted is a VarBinary file. Now if I wish to add a new file it's just a case of using ReadAllBytes as below, to remove the file I pass DBNull. Now what if other fields are being updated but the file is not being changed? I want the field to remain untouched unless I'm replacing the file or deleting it as above. I cannot add the file via the parameter again as it may only exist in the database, unless I read it first and write it back which seems pointless. [Code]
View 1 RepliesI have a search function de build.We are using pure ASP.NET w VB.NET We have multiple DropDownLists and we're building a search query with whatever was selected in those DDLs. My question is, how can I handle the blank values (unselected dropdownlist values) with the SQL Query ? I'm using AND operators in the query so if anything is blank it'll fail the search. If the dropdownlist has no selected value, i don't want the value to be part of the search. It would be easy to code with just 2-3 parameters, but we're looking thru at least 10 items and doing a SWITCH CASE or multiple IFs would soon become mayhem.
View 1 RepliesBasically I have a system that will take an unknown structure (that should be marked serializable) and attempt to serialize it to a stream. However, before the system will do that, I want to know if there's a way to check every single variable/property to make sure that all the types are serializable.Anyone know a way?
EDIT: For now, I was able to do this:
Private Function IsSerializable(ByVal obj As [Object]) As [Boolean]
If obj.GetType.IsSerializable Then
[code].....
I have a function that accepts a list as the parameter and creates a CSV from the passed list.Currently, the List parameter is of type String i.e.Public Function GenerateCSV(ByVal Source As List(Of String)) As String..My question is, is there a way I could modify the parameter such that it accepts a list of any known type i.e either string, integer etc instead of forcing it accept of type string as I have done above?
View 5 RepliesI just got upgraded from VB6.0 to VB2010. I'm trying to move some of my program functions over and I'm getting an error on the ones where I use optional... Public Function GetFolder(ByRef FTT As String, Optional InitFile As String)
I get the error at the end of the line, after the close par...the error is "optional parameters must specify a default value".
Is there any performance hit (or other problem) to creating a lot of class and structure types for a project? I'm not talking about the number of objects existing in-memory during runtime; rather just defining a lot of object types during design time. I find myself making a lot of small classes and structures that are little more than simply packaging a few related variables together.
View 4 RepliesI am calling a XML web service (standard web service project based on .NET 3.5) and trying to pass custom types as parameters. The custom types are defined in my consuming code and the web service references an assembly from the consuming code to get access to the types. The serialization is being handled by .NET.
<WebMethod()> _
Public Function MyMethod() As MyType
Dim myValue as new MyType
return myValue
End Function
In my consuming code I created a web reference to the service and the proxy classes were created. I gave the service the namespace "WebService". Next I try to make a call to the service and assign the result from the call to a variable, something like this:
Dim service As New WebService.ServiceNameSoapClient
Dim response As New MyType
response = service.MyMethod()
I get an error from the IDE saying that it cannot convert type mynamespace.WebService.MyType to mynamespace.Entities.MyType. It appears to me that although the types are similar they are being treated as different because of the different namespaces, which makes sense of course.
Edit: So from what I am reading I believe this is by design, that is the proxy types are simply different types and cannot be directly associated with the types in the consuming code.
Today, I'm proceeding with my college work, and am having a little trouble. I'm writing a function, but would like to pass custom types through as parameters, for example Function Game(Section as Game_Section) code here End Function I tried using a structure, but it kept giving me errors
View 13 RepliesIs it okay for a structure variable to hold a small number of reference types? I thinks it's fine because the pointers themselves are not that big, regardless of what they're pointing to. But I never did fully figure out the whole heap/stack thing, so I'd like to make sure.
View 6 RepliesI am using a structure array with multiple member names with 2 types. My question is can you single out one of the member names and add its total? kinda like this...
HTML Code:
structure structureName
dim a as string
dim b as double
dim c as double
[code].....
I made an Array of Structure as given below. Now I want to sort them using different parameters.
"Array.Sort(ArratName)" or "Array.Reverse(ArrayName)" didn't work as I expected.
Structure
CheckRecord
Dim
CheckNumber As
Integer
[Code] .....
In VB.NET I would like to create a complicated data structure with multiple types of data stored in an array like format (see below). I am trying to create a data structure that would look something like this: [Name; xLoc; yLoc; zLoc; [Jagged Array]] Note: Name needs to be dimensioned as a string, xLoc and so forth as integers. The Jagged Array would look like this:
[Code]...
I am trying to have an optional Date value in one of my sub but since you cant set Date to nothing, this doesn't work. And i cant set it to the Date.minvalue inline.
Private Sub abc (ByVal A As String, Optional ByVal B As Date = Nothing)
End Sub
So, i went and set it to some date in the past.
Private Sub abc (ByVal A As String, Optional ByVal B As Date = #1/1/2001#)
End Sub
what would be the proper way to handle the default value for an optional Date?
I have a class with a Property called 'Value' which is of type Object.Value can be of any type, a structure, a class, an array, IList etc.My problem is with the setter and determining whether the value has changed or not.This is simple enough for value types, but reference types and lists present a problem.For a class, would you assume that the Equals method has been implemented correctly, or just assume that the value has changed every time the setter is called?If I did assume it's changed, then perhaps I should assume it for value types as well, so that the behaviour is consistent.
View 2 RepliesModule Module1
Public Structure structure1
Public TRANS() As structure2
End Structure
Public Structure structure2
Public X() As Integer
End Structure
End Module
I'm new to VB 2008 after having spent a long time with VB6, so I apologize if this is a stupid question. But I'd really like to have this straightened out.
Let's say I have a pretty large structure that has lots of properties.
Code:
Now say that I want an internal database with about 10 instances of this structure total, describing, say, 10 different products that a store sells. When these values are loaded from a database, they remain totally static. (However, they can be different each time a program loads)
Now say that I have a class. Each instance of this class is a type of that BaseProduct structure. Meaning, each instance of the class pertains to one of the 10 types of products that the store sells. However, this class has additional properties that pertain specifically to each instance, which are not static.
Code:
Now, the problem here is... If I have 200 different transactions, each one contains an instance of BaseProduct. BaseProduct is HUGE, and is largely redundant (only 10 types possible), so I think it's a little silly to include a whole copy of it with EVERY transaction. However, the Transaction class really needs information regarding the base product it pertains to. Is there a way to, instead of declaring a New BaseProduct in the Transaction class, to simply make one of the properties of the Transaction class a pointer to a BaseProduct variable?
In VB6, I would accomplish this by making a BaseProduct(10) array, and then giving each Transaction an ID number referring to an entry in that array. But in VB 2008, using class structure, this is impossible. I can't define the BaseProduct(10) array outside of a class in a namespace, and if I define it in the actual application's form, then the class loses modularity since it relies on the application that's using it.
I am trying to communicate with an external device and i am trying to send a byte array to the external device via sockets but i am always getting a response the message size is too small so i am not sure what i have done wrong. Between the data type there should be no alignment present and all numbers are represented in little endian format. The char array is not null terminated as mentioned in the protocol specifications.
I have to send data based on a struct that embeds 2 other struct. So here's my vb.net code for the struct used to convert to byte array and the sending part.
Public Structure MESSAGETYPE_OIP_Login
Dim Header() As COMMANDHEADER
Dim UserName() As PSTRING
[Code]....
I'm writing a query to select all records that has any part of parameter. I have one table called Employees. Some people have name like this: John David Clark If the parameter is
[Code]....
I should be able to get result back as long as there's a match in the parameters. If I use Function Contains (q.FirstName & " " & q.LastName).Contains(employeeName), I will not get any result back if employeeName is "John Clark" Function Contains looks only for next words from left to right. It doesn't match a single word at a time. So that's why I used this in the Linq to SQL:
[Code]....