When I write the following statement in VB.Net (C# is my normal language), I get an "end of statement expected" referring to the "Implements" statement. <Serializable()> _ <XmlSchemaProvider("EtgSchema")> _ Public Class SerializeableEntity(Of T As {Class, ISerializable, New}) _ Implements IXmlSerializable, ISerializable ... End Class
The C# version that I'm trying to emulate is: [Serializable] [XmlSchemaProvider("MySchema")] public class SerializableEntity<T> : IXmlSerializable, ISerializable where T : class, new() { .... }
I have created a Dictionary class (MyDictionary for the example). I am currently trying to pass MyDictionary into a function, filter it into a new instance of MyDictionary and pass this new instance into another method. When I am attempting to create the second instance from the filtered first instance of MyDictionary via Lambda Expressions and the ToDictionary Method, I am getting the following error:
Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.Int32,System.String]' to type 'MyDictionary'. I have simplified the example and recreated it in LINQPad and am getting the same error.
I have a generic class called SessionManager to control the types of variables I store in session. I have been doing it for String, Integer, List(Of T) without any issues like this.
Public NotInheritable Class SessionManager '''<remarks> '''Private constructor to prevent instantiation of, or inheritance from, this class.
[code].....
I would like to do the same for Dictionary(Of T, T). I would like 2 generic private methods for Dictionary(Of T, T) for getting and setting; GetFromSessionAsDictionary and SetInSessionAsDictionary. (When nothing returns empty dictionary like the List(Of T) properties and sets in session) And this should allow me to create as many public properties of Type Dictionary (e.g. Dictionary(Of String, String), Dictionary(Of String, Integer)) as possible to store in session.
EDIT:This is what I have ended up doing after trying to make it generic Dictionary(Of T, T), and it works without any issues. What I want instead is a solution that would not constraint the type to Dictionary(Of String, Integer).
Private Const _Dictionary1OfStringInt As String = "DICTIONARY_1_OF_STRING_INT" Public Shared Property DictionaryOf As Dictionary(Of String, Integer) Get
As I am beginner in LINQ, I have small problems. I have dictionary of Char and Long, and I would like to use LINQ to retrieve Char with highest Long Value. I saw some C# samples, which look pretty easy, but I can't achieve such expression in VB.Here are two expressions, and I don't think they are most efficient possible.
I have a mutable class that I'm using as a key to a generic dictionary. Two keys should be equal only if their references are equal. From what I've read, in this case, I don't need to override Equals, GetHashCode , or implement IEqualityComparer.
I have a Generic Dictionary contained or nested as a child in another Generic Dictionary. I need to be able to access the child dictionary objects by key. When I attempt to do this I get the following error: "Value of type 'System.Collections.Generic.KeyValuePair(Of String, String)' cannot be converted to 'System.Collections.Generic.Dictionary(Of String, String)'."
So it seems that the contained Generic Dictionary is being returned as a Generic KeyValuePair when accessed via a key as opposed to iterating through the parent dictionary in a For/Each loop.
The first section of the sample works OK (using a key to access a string value in a dictionary). The second section of the code works OK (iterating through the dictionary values in a For/Each). The third section of the sample is where the error occurs (using a key to access a nested generic dictionary...see underlined code).
Dim td1 As Dictionary(Of String, String) For Each thisKey As String In td1.Keys Debug.Print(td1(thisKey)) Next Dim td2 As Dictionary(Of String, Dictionary(Of String, String)) [Code] .....
If i wish to put items into a System.Collections.Generic.Dictionary, I can either Add or set the Item.I know if you do Add it helps you check if the key already exists and if not it throws an exception.Now I'm curious, so if I'm adding a ton of items, should I prefer setting Item instead of Add since Add does unnecessary checks that may actually slow things down?
Is there any reason to favor one of these approaches over the other when inserting into a generic dictionary with the possibility of a key conflict? I'm building an in-memory version of a static collection so in the case of a conflict it doesn't matter whether the old or new value is used.
If Not mySettings.ContainsKey(key) Then mySettings.Add(key, Value) End If
I have a class that implements IXMLSerializable. With this interface comes WriteXML, ReadXML and GetSchema. I've noticed that the ReadXML implementation crashes beyond repair (i.e hangs indefinitely) while deserializing when the XML Data is incomplete.[code]
I have a class that implements IXMLSerializable. With this interface comes WriteXML, ReadXML and GetSchema. I've noticed that the ReadXML implementation crashes beyond repair (i.e hangs indefinitely) while deserializing when the XML Data is incomplete. For example, given the following XML
<SomeObject> <SomeValue>This is a string</SomeValue> <AnotherValue>This is another string</AnotherValue> </SomeObject>
Is there any sort of API for google dictionary or dictionary.com (note: i have tried the google API but that does not support dictionary!!!) or some way to download the information from those sites? i will be using this in a bigger program (a very basic chatbot) so the definition has to be able to easily be output to a string or textbox!!!
note: i have asked mr.google many a time but all the responses are not what i want! and i dont want to have to manually write my OWN dictionary (i.e. writing in each specific word and definition)
I'm attempting to create a customized dictionary object, because I want to add some code to the Add routine, and I can't just inherit because Add is not overridable.
So I'm creating a class that implements IDictionary. Already I am confused, because Dictionary implements a lot of interfaces, listed below:
But IDictionary inherits ICollection and IEnumerable, so why implement all three (and don't they have overlapping methods)?
#2, when I implement IDictionary, the code fills in two Add methods (one for the ICollection add of a keyvaluepair, one for the Idictionary method). Apparently both these add methods are required for Idictionary, yet a regular dictionary (which implements IDictionary) only has one Add method that I can see. I actually would like to have only one Add method if possible. Why am I being asked to make two (and that's before all the other interfaces have been added)?
I have a function that has an optional dictionary argument. Since it's optional, it needs a default value, and I'd like to set it to an empty dictionary instead of Nothing. How do I go about that?
I'm trying to create a new instance of a Dictionary(Of String, ??) based on a ItemType variable I have. How do I construct the DictType so that I can use Activator to create an Instance of the type I'm after?
Dim ItemType As Type ' Data type of dictionary value Dim DictType As Type = ???? ' Dictionary(of String, ItemType) Dim NewDict = Activator.CreateInstance(DictType)
We have migrated our Vb6 application to VB.NET using a third party tool. Now we are in a process of Refactoring and introducing object oriented concepts in the application.
In VB6, we were using structures in many places. As a part of introducing object oriented programming,
1. is it a good idea of changing all Structures to Classes? or Is there a concept of "Generic Structure" similar to Generic collections, Generic classes?
2. Can some one guide me any source containing guide lines or best practices for applications that are migrated to VB.NET from VB6 and implementing object oriented programmaing.
I want to group items from a linq query under a header, so that for each header I have a list of objects that match the header title. I assumed the solution would be to use ToDictionary to convert the objects, but this allows only one object per "group" (or dictionary key). I assumed I could create the dictionary of type (String, List Of()), but I can't figure out how to write it. As an example I have written a simplified version below.
Private _myCollection As IList(Of T) Public Property MyProperty(Of T)() as IList(Of T) Get
[Code]....
Basically, I want to have a collection of items that may be of any type. Then, I'll be able to do something like this:
Dim myPropertyValue as <the type of some value> if (MyProperty.Contains(<some value>)) myPropertyValue = CType(MyProperty(<some value>), <the type of some value>)
How can I do this? Or is there a better way than using a generic type?
I have created a class with a function in it. I have a collection of data I want to pass back. I tried an arraylist first. Now I am trying to use a dictionary. My problem is that it creates the dictionary ok, but I am only get the last row of data from my
Function GetWeldAuditInfo(ByVal ResourceId As String, ByVal VendorId
countDictionary As Dictionary(of Category, Dictionary(of Date, Integer))
The Class has a Enumeration Property. For the purposes of demonstration, I'll call it MasterCategory.I have been trying to get out an object that looks like the following:
groupedCountDictionary As Dictionary(of MasterCategory, Dictionary(of Date, Integer)
Which results in a IEnumerable (Of Dictionary(of Date, Integer)) for each MasterCategory value.However, I need that IEnumerable of Dictionary flattened to one dictionary with all the integers summed (total counts) for each date. I then tried to use various selects and group bys (from numerous stackoverflow posts) to "flatten" it, but my efforts have fallen short.
Current Code
[Category Class] - MasterCategory As Enum - Name As String etc
I am really trying to follow the DRY principle. I have a sub that looks like this?
Private Sub DoSupplyModel OutputLine("ITEM SUMMARIES") Dim ItemSumms As New SupplyModel.ItemSummaries(_currentSupplyModel, _excelRows) ItemSumms.FillRows()
I am attempting to create a generic function that the students in my introductory VB .NET course can use to search a single dimension array of a structure.[code]...
My question is: Is there a way to reference the individual structure fields in the array from inside the function? I was trying to make it generic so that the student could simply pass their array into the function - their structure may be named differently than mine and the field names may be different.
I suspect there are other ways to deal with this situation, but I was trying to keep it to just a simple single-dimension array of a structure. I don't think it is possible to do what I want, but I wondered what others thought.
How can I create a generic constructor? (ie. BaseClass.FromXml(<param>). I'm not sure how to describe this but I'm trying to create a base class that contains a shared (factory) function called FromXml. I want this function to instantiate an object of the proper type and then fill it via an XmlDocument.
For example, let's say I have something like this: [Code]
I'd like to be able to do something like this:
Dim myObject As CustomObject = CustomObject.FromXml(source)
I'm trying to create a generic ListView user control that can be used over and over again in different projects. I've got all the basics done but I want to be able to act on click events in the from not the user control. In other words if someone right clicks on the listview, for example, I want the form to know it and be able to act on it.
I have an interface that i have declared some of the basic internal functions, subs, properties, etc. This interface is then implemented into 3 pre-defined classes. These classes are end-use classes so they dont get derived or inherited elsewhere. I am trying to create a generic shared class that can operate on each of these 3 predefined classes and potentially more as long as they implement the interface.
I'm sort of repeating the same steps. There's got to be a way to shorten it.I was able to shorten it before by making a generic function to create the radio buttons.This is the before the rewrite
Public Sub LoadPanels(ByVal tblClient As DataTable) Dim count As Integer = 20 Dim tooltip As New ToolTip Dim countName As Integer = 0