What does the compiler use to determine the type of item?For example let say I have this class, which is inheriting a non generic collection,
Public Class BaseDataObjectGenericCollection(Of T) Inherits BaseDataObjectCollection End Class
A for each loop still infers the Item type as Object. How would I have to modify the above class to make the type inference work?
Edit: Per Beatles1692's answer, Implementing IEnumerator(Of T) kinda works. The base class already has a GetEnumerator function, inherited from CollectionBase, so I my implementation looked like this,
Public Function GetEnumerator1() As System.Collections.Generic.IEnumerator(Of T) Implements System.Collections.Generic.IEnumerable(Of T).GetEnumerator Return MyBase.Cast(Of T)().GetEnumerator End Function
However, the for loop still infers the type as object. But, if I change the interface implementation to this,
Public Shadows Function GetEnumerator() As System.Collections.Generic.IEnumerator(Of T) Implements System.Collections.Generic.IEnumerable(Of T).GetEnumerator Return MyBase.Cast(Of T)().GetEnumerator End Function
That works, the for loop gets the type inference correct. So I guess the question is now, does For Each just look for a function called GetEnumerator ?
I am trying to do a simple program where I have a public structure and public function in a code file, the problem is I want to return two integers. Here is the code from my code file.
I have a windows app that references a web service I created. In the web service, I created a function that needed to return more than one value. Because of this, I created a public structure in the web service: Public Structure MyRecordSet Public lstOfDataInRecord As List(Of String) Public iNumberOfRecords As Integer End Structure
Here's the function - the return value is MyNewRecordSet: Dim MyNewRecordSet As MyRecordSet <WebMethod()> _ Public Function GetDataReturnList(ByVal sql As String, ByVal sTableName As String) As MyRecordSet MyNewRecordSet.lstOfDataInRecord = New List(Of String) [Code] ..... Anyway, I see it's a conversion issue, but not sure how to resolve it. This is my first attempt to use a public structure in a web service and receive a return on it from my app.
My plan is depending on the users screen resolution a different form will open. Thats all fine and works hunky dory.
However, the form pulls code from a public sub and updates fields on the form based from the public sub[code]...
My problem is how can I change the FORM1024x768 to say FORM1366x768 if the users screen resolution determines a different form is chosen. I need something like[code]...
I have a public variable that I declared in form1 of an application. I am trying to call that variable in form2 and then pass that variable in a sql query.
If I declare
Public Class Form1
Public payPeriodStartDate, payPeriodEndDate As Date
How then to I declare that variable in form2 and how to I pass it to my sql query
SELECT [Exceptions].Employeenumber,[Exceptions].exceptiondate, [Exceptions].starttime, [exceptions].endtime, [Exceptions].code, datediff(minute, starttime, endtime) as duration INTO ScratchPad2[code].....
I'm trying to implement a grid based RPG style inventory (teaching myself by making a game keeps me focused ) and I have an array of "item" objects. Part of this array is a picture box, which I then lay out in code to display the inventory. how to detect when one of these picture boxes is clicked. However, I'm having a little trouble getting my head around the Directcast command.
When a box is clicked, I would like the function 'boardclicked' to pass over not only the picture box, but the whole object it is associated with it, so I can print these values out the screen (detailing the objects name, value etc) [Code]. As you can see, this passes the picture box element of the object, but I'd like to be able to pass the whole structure, so I can retrieve the other associated values.
I'm creating a Data Layer for a Web Application and in one of my functions, I need to pass in a Structure full of Customer info. This Data Layer is essentially a DLL. My problem is that I'm not sure how to do this.Below is my code and what I want to do.
am trying to pass a structure that contains 2D arrays as Byte from VB.net to a C++ dll. The dll returns the structure with the 1D arrays filled. I am using UnmanagedType.ByValArray to pass the arrays from VB.net to C++.
I'm working on a project where I'm experimenting with building and implementing plugins. I have a structure called "sensor" in the plugin that contains several elements. I would like to be able to return that structure to my main program through the interface, but it doesn't work. The plugin works fine if I'm passing strings or other variable types, but when I switch from strings to my structure, I get a couple of errors. On my main form where I try to call the function, I get the error 'value of type iMyPlugin.sensor cannot be converted to frmMain.sensor'. In the plugin code, I get the error 'GetSensorReading cannot implement GetSensorReading because there is no matching function on the interface'. Is what I want to do possible, or is there a better way to do what I want?
I would like an overview of System.EventArgs. I have an understanding of System.Object where I can pass data between subroutines and functions using Public Classes. I am curious what EventArgs do?
I have a structure to hold a student name, an array to hold 5 test scores, and an average score. I have created an a array of structures for 6 students. User input is setup through text boxes. I want to calculate the average for each student. I have made a function to do this. What I am having trouble with is how to pass the array of test scores to the function.
Here is what I have so far:
CODE******** Public Const intMAX_STUDENTS As Integer = 6 Public Const intMAX_NUMTESTS As Integer = 5 Public student(intMAX_STUDENTS - 1) As StudentData
I'm trying to serialize a data structure and pass it to another report via parameter, and this line of code:
Dim s As New System.Xml.Serialization.XmlSerializer(GetType(System.Collections.HashTable))
Produces this error:
An error occurred during local report processing. The definition of the report '/myReport' is invalid. There is an error on line 22 of custom code: [BC30002] Type 'System.Xml.Serialization.XmlSerializer' is not defined.
How can I get around this? I have been able to use fully defined .NET classes in other lines of code, including the following:
Dim outStream As New System.IO.StringWriter()
and
Private colorMapping As New System.Collections.Hashtable()
I'm sure I need to do a for each <something> in my something..but I cant figure out what..I kinda want to make a trace program for my structure so I can loop through and split out the name and the value in it..
I am running into a problem which I am using C Dll into my VB.net code. I have .H file which shows implementation of this DLL in C language.This .H file contains many structures and unions that contain variable of some structures type. There is a main structure which contains the pointers to these structures and unions and finally address of main structure is passed into the dll function.
I am enable to figure out how to create structures and unions with marshalling in vb.net and how to pass address of a structure which contains addresses of othere structures and unions.
how to make a new structure somewhat, but what I need to know is how I can do something like, GetItemByName without having to do a loop when I have a list of my structure type. What I mean by this is if I had a structure like this:
Langauge level hours German 2 50 French 3 40 English 1 60
[code]....
I want to loop through the records based on language and other conditions and then pass the current selected record to a different function.So I have the following mixture of actual code and psudo code. I need help with converting the psudo code to actual code, please. I am finding it difficult to do so.
Here is what I have:
Private sub mainp() Dim oslcConnection As New SQLite.SQLiteConnection Dim oslcCommand As SQLite.SQLiteCommand Dim langs() As String = {"German", "French", "English"}
Module 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
I'm having a problem that's driving me crazy; I can't understand how to convert the XML structure into a class structure (that I want to use to hydrate a XML document).
The XML document looks like this:
xml <?xml version="1.0" encoding="utf-8"?> <artists xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns="http://www.spotify.com/ns/music/1">
Makes the following statement about the code below:
**"The computer evaluates the loop condition in the Do...Loop statment to determine whether the loop instructions should be processed. In this case, the inputsales <> String.Empty condition compares the contenst of the input sales variable to the String.Empty value. As you know the String.Empty value represents a zero length, or empty, string if the inputsales variable is empty, the loop condition evaluates to True and the computer process the loop instructions. *If on the other hand the inputsales variable is not empty, the loop condition evaluates to false and the computer skips over the loop instructions.
Based on the code I think it is the opposite: ...that while the inputsales value is not empty it should evaluate to true and process the loop and if it is empty it should evaluate to false and skip the loop?
In my program I have an interface iGraphable that contains two properties: Abscissa and Ordinate. Then I have an xxxx class (actually more than one) implementing iGraphable and a ListOfxxxx class implementing BindingListView(Of xxxx).To draw graphs I have a Graph class with a property called Data whose type is BindingListView(of iGraphable).Why have I a cast exception when I pass a BindingListView(Of xxxx) to the Data property.
I have the a function that is declared like so: Public Sub Modify(Of SIMType As {New, DAOBase})(ByVal obj As SIMType)
I also have a class called Products which is declared like so:
Public Class Products Inherits DAOBase
So as you can see, if I were to call this function like so:
Modify(Of Products)(new Products())
This would not be an issue. The issue actually arises when I try to cast the object being past in to its real type. For example: both do not work. I get a Value of type SIMTYPE cannot be converted to IMS.Products error. Im assuming this is because I am using generics. Is there a way to adjust my function to allow for a casting operation like I am trying to do? In the end, what I need is a reference of the actual type (Products in this case) to the object.