Cast Value Type To Nullable Enumeration Type In Generic Object If All Types Are Unknown At Write-time?
Dec 14, 2011
I have a generic Class I'm using to hold information loaded from a database.I have a method which takes a DataRow as an argument, uses the object's known column name and extracts the data from the DataRow, such that:Dim loadData As T = CType(myDataRow("myColumnName"), T))works as my default assignment in most cases.Unfortunately, due to some horrifying design constraints, some of my columns may be null, and may also be taken from enumerations.This means that when <T> is Nullable(Of SomeEnumeration) the above code does not work because I can't cast 0 directly to SomeEnumeration.Zero.Is there some way to check whether <T> is Nullable(Of [Enum])? Or some way to write a method which allows Integers to be cast to Nullable(Of [Enum])?I feel like I'm forgetting something that would allow me to write one of the other of these, but my weak google-fu is turning up nothing.
EDIT: Okay, thanks to dasblinkenlight's answer below, I can detect when this circumstance is occurring, but what I need to do now is to take a type <T> which I know is Nullable(Of SomeClass), get a type reference to SomeClass and then create a new object of type Nullable(Of SomeClass) and assign that to LoadData.My problem was that I had a lot of difficulty in finding any function which would accept baseType as an actual Type.Parse accepted baseType as a parameter, I knew baseType was an [Enum] type because of dasblinkenlight's code, so I was, in this instance, able to code a solution. It's a solution which is very specific to my problem (i.e., T is Nullable(of SomeEnumeration)), but it's a solution nonetheless.
View 2 Replies
ADVERTISEMENT
Sep 12, 2011
I have a question about ASP.Net, visual basic I have 2 LINQ query's, the first one works, the second one doesnt, produces a
"Unable to cast object of type 'System.Data.Objects.ObjectQuery'1[SelmaV2.Products]' to type 'System.Collections.Generic.List'1[System.String]'.
[Code]....
View 1 Replies
May 20, 2009
In the code base I'm working in there have a method that has the signature
Public Sub SetDropDownValue(Of T As Structure)(ByVal target As ListControl, ByVal value As Nullable(Of T))
The method I am writing is passed a parameter of type object.
How can I cast the object into something that can be passed into the SetDropDownValue method?
View 2 Replies
May 14, 2012
I'm getting an error after sending a list to a web service.This is the code that is calling the web service:
Dim sProgramInterest As New List(Of Integer)
crmService.InsertProspectGetId(sProgramInterest.ToList)
But I'm getting this error.
[code].....
View 3 Replies
Jan 7, 2012
And here is the code that produces the error
CODE:
How can i cast this one?
View 1 Replies
Feb 9, 2012
Private
Sub cmdExit_Click(ByVal
sender As System.Object,
ByVal e
[code]....
View 3 Replies
Jan 28, 2012
when view in browser, i got this error: Unable to cast object of type 'ASP.webform1_aspx' to type 'System.Web.UI.WebControls.Button'.
how should i solve this problem?
Line 7: If Not Page.IsPostBack Then
Line 8: Dim rowIndex As Integer = 0
<b>Line 9: Dim btn As Button = DirectCast(sender, Button)</b>
[Code].....
View 2 Replies
Apr 19, 2010
I had write code (just for learning), the codes :
dim Temp as string
Temp = Recordset("
Table_Field")
but, when I start Debugging the error messages "Unable to cast object of type 'ADODB.InternalField' to type 'System.String"
View 2 Replies
Apr 13, 2011
I am implementing IMAPI2 into my vb.net project but ran into a wall. I am getting the message Unable to cast object of type 'IMAPI2FS.FsiStreamClass' to type 'IMAPI2.IStream' when trying to start the burn. I googled around and found this is something that microsoft hasn't fixed.. which basically renders IMAPI2 useless in vb.net.
I found a post on codeproject.com by eric hadden who combined the IMAPI2.dll and IMAPI2fs.dll into an c# interop file. I also see the IBURN interop in microsoft SDK samples. I'd like to use either, but it's in c# and I'm using vb express. Does anyone know a way to get the interop into visual basic or a way around "Unable to cast object of type 'IMAPI2FS.FsiStreamClass' to type 'IMAPI2.IStream'"?
View 1 Replies
Jun 1, 2009
I'm having a problem with converting from one source type to a destination type. I have a form with 2 buttons (button 2 uses the OpenFileDialog to have the user open an excel file set to NewFile),(button 1 takes the contents from specific cells in NewFile and arranges them how I need into oXLApp1).
The error I get is "Unable to cast object of type 'System.IO.FileStream' to type 'Excel.Application'." in line 14 of the code below.
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
[Code]....
View 4 Replies
Mar 19, 2009
I'm new to VB 2005, the code below is actualy coded from VB 6 and just converted it to VB 2005. I'm having trouble with line that's on bold letters.In VB 6 this works just ok. By the way the error message is "Unable to cast object of type 'System.String' to type 'ADODB.Connection'." [code]
View 5 Replies
May 24, 2011
I can't cast my objects. I get: "Unable to cast object of type 'ClassA' to type 'ClassB'".
The service Class:
Public Class svc_Insp
Implements Isvc_Insp
Public Function Test(ByVal pm_income As ClassC) As String Implements Isvc_Insp.Test
[code]....
View 1 Replies
May 14, 2009
Unable to cast COM object of type 'System.__ComObject' to class type 'rjsDocMan.Folder'.Instances of types that represent COM components cannot be cast to types that do not represent COM components; however they can be cast to interfaces as long as the underlying COM component supports QueryInterface calls for the IID of the interface.The code where it is flagging the error is:
<div style="color: Black; background-color: White;">
treeview += AddChildren(Session("DocMan").RootFolder)
</div>
[code].....
View 4 Replies
Dec 18, 2009
I saw this thread and I had simple answer in mind. To use custom enumerator class. So I was trying to make one for that guy, which would have one more property to check whether its has reached end or not. It would also provide current position.I'm getting an error "Unable to cast object of type 'SZArrayEnumerator' to type 'WindowsApplication1.myEnumerator'." at the line 6 [see below].However, return type of values.getEnumerator says its IEnumerator. [code]
View 14 Replies
Feb 19, 2012
Columns 0 & 1 are filled from a DataAdapter from Access Database and three are added. I had this working, but I changed it to check for the column "Feed" so I could add several Locations. At first this worked,but I did someething in perfecting it and it now fails after filling the first row of the datagridview (dgvFdMed).I ran a check and the table LotsTab has 8 rows filled. Column 1 & 2 are strings and the database appears they are fine. The added columns have just been created with no value. My plan is to enter the values and then use the data from the grid.
Private Sub sfillGrid(ByVal Loc As String)
Dim i As Integer
Dim column As DataGridViewColumn
[code]....
View 12 Replies
Dec 8, 2010
I have 2 Child forms inside a parent. For example, FrmChild1 contains a "Friend Sub" I wish to call.I would like one of the child forms to call that sub from another child form (we will call it FrmChild2. The following code works, but when it's done going through the "For Each", I get a "Invalid Cast"
' THIS CODE IS IN FrmChild1
For Each mFrmChild2 As FrmChild2 In FrmParent.MdiChildren
mFrmChild2.GuestRefresh(False)
Next
Error after calls are made:"Unable to cast object of type FrmChild1 to type FrmChild2.
View 2 Replies
Dec 22, 2010
I have a series of API calls that are returning J# data types. I have been able to convert most of the data types (Integer, Boolean, Double, Float, etc) just fine.What I need to do now is convert a java.Util.Collection to a VB .NET collection (ArrayList)
Here is my attempt:
Public Function MakeDotNETCollection(ByVal javaCol As java.util.Collection) As Collection
Dim dotNetCol As Collection
[code]....
I keep getting a runtime error "Unable to cast object of type 'AbstractListlistIterator' to type 'System.Collections.IEnumerator.
View 1 Replies
Jun 1, 2012
I am building a software which will be used to create a remote desktop connection. However I'm getting this error:
Unable to cast COM object of type 'System.__ComObject' to interface type 'MSTSCLib.IMsTscNonScriptable'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{C1E6743A-41C1-4A74-832A-0DD06C1C7A0E}' failed
due to the following error: Δεν υποστηρίζεται τέτοια διασύνδεση (Exception from HRESULT: 0x80004002 E_NOINTERFACE)).
[Code]...
View 1 Replies
Feb 24, 2012
I am using a background worker and am attempting to use the following code. However I keep getting this error on i "Unable to cast object of type 'ObjectCollection' to type 'System.Array'."
Private Sub btnVerify_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerify.Click
myArray = listProxies.Items()
BackgroundWorker1.RunWorkerAsync()
End Sub
[code]....
View 2 Replies
Nov 9, 2009
I have given reference to Microsoft HTML in COM (am using VB 2008)
"Unable to cast object of type 'System.Windows.Forms.HtmlElement' to type 'mshtml.IHTMLElement'."
I want to retrieve all the properties like the class name, html id of every object in the web browser. I am getting the above exception when i try to direct cast it.[code]...
View 1 Replies
Sep 14, 2009
I have recently moved from VB 2003 to VB 2005. While I am finding a lot of the new features quite useful, I am having trouble with List (of T). I want to be able to do something like this
Function GetList(MyObjectType as Type) as datatable
Dim list as new List(of MyObjectType)
End Function
Function GetList(MyObjectType as String) as datatable
Dim list as new List(of GetType(MyObjectType))
End Function
VB 2005 does not allow me to do this at all. Must the "type of" be srongly declared at all times? Can't this be done dynamically?
View 2 Replies
Mar 3, 2011
I have the following VB.NET function, for example:
Public Function MyFunction (Of TData) (ByVal InParam As Integer) As TData
End Sub
How do I, in a function, determine if TData is a NULLable Type?
View 3 Replies
Dec 14, 2006
I have the following VB.NET function, for example:Public Function MyFunction (Of TData) (ByVal InParam As Integer) As TDataEnd Sub
View 5 Replies
May 10, 2009
I have been trying to use vb2008 to automatically update CustomDocumentProperties fields that I have set up within a pro-forma document. I can load the Word application and word document without problems.I want to update the CustomDocumentProperties fields with data read from a dB. To do this I am assuming that I need to iterate through the CustomDocumentProperties fields within the word document and when one is "found" that matches the data I wish to merge then assign the dB value to the field.The problem is that I am getting an exception error when I try to reference the document customdocumentproperties
"Error : Unable to cast the COM object of type 'System._ComObject' to interface type 'Microsoft.Office.Interop.Word.CustomProperties'. ...... "
my code looks like;
Dim WordApp As Word._Application
Dim odoc As Word._Document
Dim BContinue As Boolean = True
[code].....
View 2 Replies
Feb 9, 2010
I'm working on an application that uses a custom configuration file and reads the contents into a public shared readonly variable named "settings":
Public NotInheritable
Class Globals
[CODE]...
This part seems to work just fine. The problem I can't seem to solve is when I try to access the "Settings" from a class that provides connection info.
Here is the code that creates an instance of the "Settings" to get at the "ProviderType":
Private
Shared _instance
As StoreProvider
[CODE]...
The application throws an "unable to cast object of type 'TheBMTStoreSection' to type 'BMTStore.TheBMTStoreSection'.
The web.config contains the following section name and section:
<section
name="TheBMTStore"
type="TheBMTStoreSection"/>
[CODE]...
View 2 Replies
Apr 13, 2010
I have a class B that inherit from a class A should I always be able to cast the class A to the classB or are there some situation where this is not possible.
[Code]...
View 3 Replies
Sep 9, 2010
I'm in the process of creating a function which reflects over the properties in a class and adds them to this data structure I have. Some of the properties are generic types.So say we have DataType(Of T) that has a .Value property of type T:
Dim properties = GetType(MyType).GetFields(Reflection.BindingFlags.Public Or _
Reflection.BindingFlags.Instance)
For Each prop As fieldinfo In properties
Collection.Add(prop.Name,prop.GetValue(poco))
Next
In the collection.Add for primitive types (Integer, String, etc....) I just want to add the type... but in the case of generic I want to add the DataType(Of T).Value. I hope there is some work-around but I don't think there is a way because the type of T can not be determined at compile time right? Ideally DirectCast(prop.getvalue(poco), DataType(Of T)).Value would be possible. This is when you hoped even more dynamics appear than whats in .NET 4.0.
View 2 Replies
Jan 25, 2011
For I = 0 To 10
If Items.Count = 0 Then Exit For
Dim T As New Thread(AddressOf Thread)
T.Start(New Object() {"Test", "Test"})
[code]....
When I put same code in empty project it works.
View 5 Replies
Jul 7, 2010
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.
Here's the simplified version of my code:
[Code]...
View 2 Replies
Jun 25, 2010
My project worked a first and now its giving me a problem.The error
Quote:
Unable to cast object of type 'System.Windows.Forms.MouseEventArgs' to type 'System.ComponentModel.RunWorkerCompletedEventArgs'.
View 2 Replies