I am trying to write a function that has an object parameter. That object will always be an BindingList. That BindingList will be of some unknown (at design Time) class. I think I've figured out how to get the type of the collection object, but now here the tricky part. I'm trying to create a function that can handle any type of collection and be able to return an item from that collection. I need to create a new object of that type and return it from the function. [Code]
I am able to get the index of items added to the BindingList. When I try to get the index if the deleted item I get the error Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Here is my code
Private Sub cmdRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRemove.Click
For i As Integer = 0 To _assignedSelection.SelectedCount - 1 Dim item As Jurisdiction = CType(_assignedSelection.GetSelectedRow(i), Jurisdiction) _list.Remove(item) Next End Sub
Private Sub list_Change(ByVal sender As Object, ByVal e As ListChangedEventArgs) Handles _list.ListChanged
What I wanted to do was, given the table name (as string), use reflection to instantiate the get method for specific fields (defined as properties with Get and Set methods.
I am trying to create an Excel file using reflection. The reason, the application will be running on many machines some of which may or not have excel installed. I decided to embed the "Microsoft.Office.Interop.Excel.dll" and via reflection generated the excel spreadsheet. The code I am trying to resemble is:
Is there a way for a property to access its own name and type at runtime using reflection? I want to access this info without hard coding the name or index of the property in the class.
Simple Example Code:
Private ReadOnly Property MyProperyName() As String Get Console.WriteLine((Get Current Property Info).Type.ToString) Console.WriteLine((Get Current Property Info).Name)
I've got a set of static "enumeration" classes that I'm using to hold meaningful variable names to represent meaningless code values I receive on an input file. Here's an example of one.
Public Class ReasonCodeValue Private Sub New() End Sub
Public Function f(ByVal t As System.Type) As Object Return t.GetConstructor(New System.Type() {}).Invoke(New Object() {}) End Function
I need to pass values to the Constructor as
Public Function f(ByVal t As System.Type) As Object Return t.GetConstructor(New System.Type() {someInteger,someString,etc.etc}).Invoke(New Object() {}) End Function
Also I have 3 classes of Type T, with all having different parametric constructor. It's important for me to have it generic as the Classes of type T might increase in future with less or more parameters.
I'm trying to create an object Of a specific type. I've got the following code, but it fails because it can't cast the new table object to the one that is already defined. I need table to start of an IEnumerable type so I can't declare is an object.
Public sub getTable(ByVal t as Type) Dim table As Table(Of Object) Dim tableType As Type = GetType(Table(Of )).MakeGenericType(t)
[code]....
is there a way of changing a variable type at runtime?
I'm attempting to dynamically register entities and configurations with a context (ef4 code-only). I would normally do:
Private Shared Sub ConfigureDatabase(ByRef Builder As ContextBuilder(Of ContextExtension)) 'Load configurations for each of the tables (Entity sets) in our database... ConfigureEntity(Builder, New ContactConfig) End Sub Private Shared Sub ConfigureEntity(Of T)(ByRef Builder As ContextBuilder(Of ContextExtension), ByVal config As EntityConfiguration(Of T), ByVal setName As String) 'Register the entity configuration with the builder Builder.Configurations.Add(config) 'Register the entity set name with the builder Builder.RegisterSet(Of T)(setName) End Sub
Where ContactConfig is a class which inherits EntityConfiguration(Of Contact) and Contact is a class which implements an interface IEntity (IEntity is common to all entities). So... I need to search a namespace (say Project.DB.Client) for all signatures that match: EntityConfiguration(Of <Class which implements IEntity>) How can I achieve this?
I'm trying to check if a variable has been defined as a nullable Guid. eg.
Dim myGuid As Nullable(Of Guid) or Dim myGuid As Guid?
It seems doing a myGuid.GetType returns the underlying type, that is type Guid, not Guid?. So testing myGuid.GetType Is GetType(Guid?) always returns False.How do I find out if myGuid is a nullable type?
Ed: I can do the following, which correctly returns True for "Guid?" and False for "Guid":
Not Nullable.GetUnderlyingType(GetType(Guid?)) Is Nothing
The problem is that I don't know how to retrieve the nullable type from the variable itself, in order to test it. I've only been able to get the underlying (non-nullable) system type.
I've written a db helper function. I pass it an object comprised of public members, representing the row data of a table. The members are the table columns.Using reflection, I loop through these public members to create an INSERT statement for a command object and populate its parameters with the values in those members. So far so good.But now there's a table which has a uniqueidentifier column which I must not populate from the row object, as it defaults to "NEWID()" (using SQL Server 2008). Instead of skipping all Guid columns, which would be easy, I only want to skip ones defined in the row data class as "Guid" (non-nullable).Basically, I'm using the Guid? (Nullable) type to indicate it's ok to populate that uniqueidentifier column with data. If it's non-nullable, that tells me to skip it because the column has a NEWID() default value.
I'm passing a type name and some parameters from C# code into a navigation framework written in VB. The navigation framework looks for a constructor on the type that matches the parameters passed in using Type.GetConstructor(Types()). The constructor that I'm looking for expects an array of integers Integer() in vb. But it gets an array of System.Int32. I've gone so far as to try this:
[Code]...
And the VB code still sees System.Int32 on the other end, which means that it doesn't find the constructor.
I am working on a card game, and i get this werid error:
A first chance exception of type 'System.Reflection.TargetParameterCountException' occurred in System.Windows.Forms.dll
The code that is cousing this error is:
Private Delegate Sub ShowcardDelegate(ByVal test As String, ByVal objtest As Object, ByVal value As Boolean) Private Sub Showcard(ByVal test As String, ByVal objtest As Object, ByVal value As Boolean) If objtest.InvokeRequired Then
I have had several occasions recently to access a specific class several times over a relatively small time frame.So I've been storing the value of the class in Session and trying to access it on page load, if it's not available creating a new instance and storing that in session.
So instead of constantly replicating the same code for different classes on different pages I'm trying to create an extension method to do this for me.
[Code]...
I'm stuck on what to do when I make my new instance of my class (it would have to have a New() sub)
I'm not sure where to go from here... or even if this is the best way to do it.
I have a object collection type of BindingList(of T), i want to take same copy of the object. but the problem is when ever i made the changes in the copy then the original object also reflect that change, how can i avoid it .
Is is possible to bind two BindingList<> object to the DataGridView? Both the bindinglist objects are of the same type. I tried binding an array of BindingLit<> object to the grid, but this fails.
I have set up a class to hold song information - artist, title. I then created another class that containg a BindingList(of clsSong). I use this binding list to create a data object that can be used to create an RDLC report. This all works. Now I am trying to remove duplicates from the binding list so they don't show up twice on the report. I can't figure out how to get a distinct list for my report. [code]...
I have created a huge monster based on generic objects and the BindingList. It is a web app that has users, security rights and restrictions, as well as the business logic to persist to the database. I have been using inProc sessions but each user creates about 50 megs of memory. I was initially told that would not be a problem, that a few users it at any time, and the items in the collections were supposed to be lot smaller, but I digress. For the amount of processing that the app has to do in real time, and for how it manages the data, the data it produces is 100%.
The speed and performance has been superior, but the only problem was it was on a box that was used for alot of other applications and it would run out of memory. I have since put it on Server 08 and have placed the Serializable attribute on all classes. I get a an error how ever when the web app tries to serialize the session. I get the feeling that there is an unsaid concensus that inheriting from BindingList is not supported by .net sql or state server session handling.
Public Sub Init(ByVal SelectedItems As List(Of Cheque)) Items = New BindingList(Of Cheque)(SelectedItems ) BindingSource1.DataSource = Items
[code]....
This code gets called like so:
... fmEdit.Init(myList) fmEdit.Show()
All variables are populated etc, it seems to go through the DataBindings.Add ok but when the form appears I get the error about unable to bind to a property or column called Id. I tried replacing the DataBindings.Add code to use the BindingSource1 instead of Items but I get a similar error.The names of the properties in the class match that of the name in the Databindings.Add code.
UPDATE: Here is my class:
Public Class Cheque Public Id As String Public Status As Byte
Regarding my college project. i'm working on a sales system . i have a form which consist of all the following information( item code , item name , item price , quantity of item ) which is display using a data grid . data input by user using text box and all this information will be stored in a database(sales database) i'm using ms access 2007. the grand total will be displayed in a text box . and amount paid will be input in a text box too , my major problem now is how to i create a reciept that will have all this information of the purcase. i have a reciept button . what the next step ? i dont have any idea how to get the reciept done.
I would like to get the Type of item that a BindingSource is hooked up to or configured for. The BindingSource.DataSource property can be set to an object, list, or type. If it is a Type, it obviously does not have a bound item yet, but I would still like to get the Type. For a List, I need the item Type, not the list type.
I currently have a custom list type for business objects that implement an IListItemType interface, that I created to solve this problem a while back. I would now like to get this working in a more generic fashion so that it will work with any list.
I've looked through the API docs for for a good way to do this, but so far I have not had any luck. Am I missing something or is this just something I can not or should not be doing?
I am defining an ArrayList type varaible. It can have of any type of items. I want to know the type of its item. Is there any way to know the type of items in the arraylist variable? I want to know the type of item in the for loop.
Dim ArrList As New ArrayList Dim A As Integer Dim s As String
I'm trying to do this in an item_databound event of a datagrid in asp.net
Dim EntType As EmployeeEntity = DirectCast(e.Item.DataItem, EmployeeEntity )
but I encounter the error
Cannot convert to class EmployeeEntity
The EmployeeEntity class has the same members as the items in e.Item.DataItem's DataRowView items. so how else do i cast the contents, without having to actually set each property of EemployeeEnity individually, from the e.Item.DataItem ?
I have a piece of code that does an action to any collection that implements generic.IList<T>However to do this it needs to get the type <T> of the generic list.e.g. If I pass in a variable of type Generic.List(Form) then in my code I need to get the fact that the list is made of Forms. To add complexity the list may be empty (So you can't just look at Item(0).GetType)
I want to capture all text in "TYPE>ITEM-## here's some text </TYPE>" which I can do with "<TYPE>ITEM(.*?)</TYPE>"What if I do NOT want to capture cases where ## is equal to 14?