Can't Recast Concrete Type As An Interface?

Nov 22, 2011

I am looking to implement the ability to compare and sort classes in my model. All of the objects in my model will need some common functionality regarding to comparisons so I created an abstract BaseComparer that implements IComparer.

Public MustInherit Class BaseComparer(Of T)
Implements IComparer(Of T)
End Class

[code].....

View 2 Replies


ADVERTISEMENT

Get Different Value Type Out Of Concrete Implementation If Only Interface / Abstract Class Is Known?

Feb 28, 2011

I am creating an xlsx reader / writer for my application (based on OpenXML SDK 2.0). I want to read xlsx files and store the data contained in each row in a DTO/PONO. Further I want to read the xlsx file and then modify it and save it.Now my problem is not with the OpenXML SDK, I can do what I need to do.My problem is on how to structure my components. Specifically I have problems with the polymorphism at the lowest level of a Spreadsheet, the cell.A cell in Excel/OpenXML can have different types of data associated with it. Like a Time, Date, Number, Text or Formula. These different type need to be handled differently when read/written from/to a spreadsheet.I decided to have a common interface for all subtypes like TextCell, NumberCell, DateCell etc.Now when I read the cell from the spreadsheet the Method/Factory can decide which type of cell to create.

Now because the cell is an abstract from the real implementation it does not know / does not need to know of what type it is. For writing / modifying the cell I solve this problem by calling .write(ICellWriter) on the cell I want to persist. As the cell itself knows what type of data it contains, it knows which method of ICellWriter it needs to call (static polymorpism).Writing to the xlsx file is no problem. My problem is, how do I get the data out of my cell into my DTO/PONO without resorting to type checking -> If TypeOf variable is ClassX then doesomething End If. As Methods / Properties have to have different Signatures and differentiating by only using a different return type is not allowed.The holder (collection, in this case a row of a table/spreadsheet) of the objects (refering to the cells) does not know the concrete implementations. So for writing a cell I pass it a Cellwriter. This Cellwriter has overloaded methods like Write(num as Integer), Write(text as String), Write(datum as Date). The cell object that gets this passed to it then calls the Write() method with the data type it holds. This works, as no return value is passed back.After some thinking about the problem I came to realize that it's not possible without reflection or knowledge of what type of cell I am expecting. Basically I was trying to recreate a spreadsheet or something with similar functionality and way too abstract/configurable for my needs.

View 1 Replies

Unable To Cast COM Object Of Type 'System.__ComObject' To Interface Type 'MSTSCLib.IMsTscNonScriptable?

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

Using An Interface Defined In A Generic Type From Within The Defining Type

Feb 14, 2012

In trying to add a bit of usage variety to a generic class I'm working on, I ran into this issue with trying to cast an object into an interface instance where the interface is defined inside the generic class.

[Code]...

View 1 Replies

Error : Unable To Cast The COM Object Of Type 'System._ComObject' To Interface Type 'Microsoft.Office.Interop.Word.CustomProperties'

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

Re-encoding Char - Perform The Recast While Converting To A Byte So It Will Fit And Not Buffer Overrun?

Sep 28, 2010

I can't seem to find how to recast a char to Ascii, the VB6 way was to ASC(thechar/thestring).What is the new method? or how to perform the recast while converting to a byte so it will fit and not buffer overrun.

View 10 Replies

Instantiate A Generic Class Using Concrete Object?

Sep 27, 2011

i've got a generic class for xml serialization and deserialization.

Public Class clsXMLHandler(Of T)
Public Sub serializeFromObject(ByVal filePath As String, ByVal [object] As T)
Dim creater As New FileStream(filePath, FileMode.Create)
Dim xml As New XmlSerializer([object].GetType)
xml.Serialize(creater, [object])

[Code]...

View 1 Replies

.NET Type Check On Interface

Jan 6, 2012

I am trying to implement the Strategy design pattern using interfaces.However, while developing some code I stumbled upon something strange.The type of the object is not verified in design-time.Observe the following code.Notice that Foo implements IFoo and Bar DOES NOT implement this interface.No error is shown when trying this:[code]This code compiles fine. No error is shown in Visual Studio.However, when I run this piece of code, I receive an InvalidCastException.The output of the console:[code]

View 1 Replies

C# - How To See If A Type Implements An Interface

Oct 25, 2010

I need to know if a Type implements an interface. [Code] because the Interface IRule itself is assignable of IRule what raises a MissingMethodExcpetion if i try to create an instance:

ruleObj = CType(Activator.CreateInstance(typeAsm, True), Rule.IRule)

UPDATE2: IsAssignableFrom in combination with IsAbstract might be the best way to check if a given type implements an interface and is not the interface itself (what throws a MissingMethodException if you try to create an instance).

If GetType(Rule.IRule).IsAssignableFrom(typeAsm) AndAlso Not typeAsm.IsAbstract Then

View 5 Replies

IEnumerable Interface As A Type?

Jan 13, 2011

While learning to use LINQ in VB.NET, I came across the following:Dim x As IEnumerable = (some LINQ query)

If you can't instantiate an interface, but only a concrete implementation of it, why is this allowed? Is there some difference between doing Dim x as (Type) and Dim x as New (Type)?

View 1 Replies

Use An Interface For Type Codes?

May 20, 2009

I am working on a project that has several different codes. These codes all basically are used this way:

CodeKey
Description
GetList
GetSpecific
SetProperties

All of my classes implement this. I am hesitent, however, to use an interface because of one problem--the type Codes vary by type. Some are strings, some are integers, some are bytes. The only way I could see using an interface would be to make the typeCode an object in the interface and then cast whenever I needed to use it, but that seems a bit silly. Any ideas? This is in VB.NET.

View 1 Replies

How To Check If A Property Type Is An Interface

Feb 12, 2009

I would like to check if a property's type is an interface (not a specific interface, but any interface).

dim __PropertyInfo As PropertyInfo
dim b as boolean = isinterface(__PropertyInfo)

[code].....

View 3 Replies

Implementing An Interface With A Different Property Type?

Mar 1, 2010

I'm currently trying to create a class that is a composition of the SqlDataAdapter class (as unfortunately you can't inherit from it). In order to try and make it as similar as possible I'm using all the same inherits and interfaces as is documented on MSDN.The problem that I am having is that there are some properties where the interface specifies that the type of the property is IDbCommand. But in the SqlDataAdapter the property type is SqlCommand.

View 3 Replies

Declaring A Variable Of Type Interface And Object

Oct 19, 2010

what is the difference between declaring a variable in this way

ByVal
List As IEnumerable as
a parametre in a function
Dim

[Code]....

View 1 Replies

Have A Command Prompt Type Interface On Form?

Dec 27, 2010

I would like to have a command prompt type interface on my form. The only thing I am aware of is a textbox, but there are no facilities to have commands and output scroll without keeping the entire history in a variable. That would be an ever increasing variable, which is ridiculous. Is there an alternate way to use a textbox as a command prompt, or is there something else I can do. Another note, is the use of an array. I know I can increase an array with commands, but this is no good either, because some responses in the box need to be paragraphs in length, so even a separate array for command and output is too cumbersome.

View 6 Replies

Pass A Generic Type Not Having A Interface To A Of T Function?

Jun 8, 2009

I have a following code which works fine

MsgBox(AddSomething(Of String)("Hello", "World"))
Public Function AddSomething(Of T)(ByVal FirstValue As T, ByVal SecondValue As T) As String
Return FirstValue.ToString + SecondValue.ToString

[code].....

View 3 Replies

.net - Use Mono.Cecil To Determine If A Type Implements An Interface?

Jun 23, 2012

I had a look through the documentation on the Wiki, but it seems a bit thin. How do I determine if a type implements a given interface using Cecil? For my particular implementation it is important that I do not actually load the type into the AppDomain.m Here's the code that I have so far:

Dim outputModule As ModuleDefinition = ModuleDefinition.ReadModule(outputFile)
For Each assemblyType As TypeDefinition In outputModule.Types

'How to determine if assemblyType implements a specific interface?

View 1 Replies

C# - Arrays - Use The IEnumerable<T> Interface And Make It Type Specific

Mar 1, 2011

In many projects I work on, whenever I have to return a read only collection, I use the IEnumerable<T> interface and make it type specific like so:

CODE:

Most of the time, I return a List but in some functions and read only properties I return an array which also serves the purpose alright by kind courtesy of Extension Methods.

My question is am I violating any design principles by returning IEnumerable<T>s instead of specific types (e.g.: List<T>, HashSet<T>, Stack<T> or Arrays)?

View 8 Replies

Invoke A Method Of An Interface Of Which The Return Type Is _variant_t?

Mar 3, 2009

Attempting to invoke a method of an interface, of which the return type is _variant_t

Code:

_variant_t resultsDataString;
_bstr_t simObjectNames;
simObjectNames = SysAllocString (L"TEST example 3");
resultsDataString = pis8->GetSimObject (simObjectNames);

[code].....

View 4 Replies

.net - Invoking Interface Method Using System.Object Type Variable

Jan 6, 2011

I have an interface ITest with a method GetResult(). I have a class Test which implements ITest and thereby defines private method GetResult().

Next I create an instance of Test in a different class. The code is as below:

Module NewClass
Public Sub New()
Dim i As ITest = New Test()

[Code]....

I am migrating existing code from VB 6 to VB.NET and hence I'm not supposed to change the access modifier of GetResult. Leaving it Private will throw InvalidCastException Unable to cast object of type 'System.Object' to type 'ITest'

Object type variable o is used in many places and hence I don't want to change that. And yes, Test implements ITest.GetMember with a different name.

View 3 Replies

QueryInterface Fails In Windows Service For An Interface Of Type IUnkown?

Jul 9, 2009

Here is the IDL definition

[code]...

I am getting the following error:Unable to cast COM object of type 'TESTSERVERLib.TestClass' to interface type 'TESTSERVERLib.ITest'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{DAFB7D76-0158-452F-8FD0-FF97A683DEA3}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).Object reference not set to an instance of an object.Whereas the same code works from an VB .Net Forms application.Can anyone explain why this code does'nt work in a VB .NET windows service.

View 5 Replies

If <expression> Then <statement [:statement]> Else [statements] In Concrete Form?

Jan 1, 2010

I was convinced that If <expression> Then <statement [:statement]> Else [statements] in concrete form of If a = b Then SayHello() Else SayBye() End has sense. I read article on msdn on If-then-else, but I forgot why I was reading, so I concluded, that snippet above means this

If a = b Then HelloIsSaid : IsNotEnded Else ByeIsSaid : IsEnded But I have tested it now, and I see, that Else without statement is nothing more than decoration. It would be pretty good if it had function I described. Do you think its good request? Or do you know any circumstance where this Else has some function?

View 13 Replies

C# - Function Or Interface Marked As Restricted Or The Function Uses An Automation Type Not Supported In Visual Basic?

Oct 19, 2010

What does this error mean in VB6? Function or interface marked as restricted, or the function uses an Automation type not supported in Visual Basic.

I keep getting it when i call a particular method of a dll that comes with windows xp and beyond (in system32 called upnp.dll)

View 2 Replies

Interface And Graphics :: Create A User Interface In A Game Such As The Application XFire Using VB?

Jan 12, 2010

how to create a user interface in a game such as the application XFire using Visual Basic?

View 3 Replies

Interface And Graphics :: Use A Graphical User Interface That Contains A Drag And Drop Form?

Oct 19, 2008

I'm working on a design project where I have to use a Graphical User Interface that contains a drag and drop form. It consists of having a window dropped on a wall. Both of them are images to scale. I would like to know what kind of code I would have to use to show the x and y coordinates of one of the points of my window when dragged so when I drop it, I'm dropping in it on the desired coordinate of the wall.

View 2 Replies

Interface And Graphics :: How To Procede With An Interface Design Approach

May 18, 2012

I was wondering if I could elicit some tips on how to procede with an interface design approach.That is. What is a good way to go about establishing a "work area" where one can have multiple "floating forms" in this area.Can you have a form which occupies the entire windows desk top and the other forms "float" in this space? the "floating" forms would need to interact with each other where pressing buttons etc on them would affect other forms on the "workspace") Or what would be a good way to start accomplishing that? Or is there a better way to get the same effect?

View 4 Replies

Interface And Graphics :: Link A Class / Object To An Interface?

Apr 21, 2010

I'm trying to make a .dll that contains a lot of basic functionality that a program can use. Currently i am trying to use interfaces to make a lot of this functionallity independend of the program using it but i hit a snag. The Basic idea is that a programmer will create his own object using the interface discribed in my .DLL file. Then implements those functions as he likes. He can then instanciate a controller (found in the same DLL) and sends his custom object implementing the interface to that Controller. The controller can then be started and will take over all the work. I do not know what type of object is send to the controller and idealy i want to program it in such a fashion that i shouldn't care as long as the object send implements that interface.In code I am trying to achieve the following: (quite simplyfied)

.Dll:
Code:
Public Interface MyInterface '<----Decleration of the interfaceFunction GetData() As Integer
Function SetData(Data As Integer)
end interface

[code]....

this propperly. I know that the second i set the interface adaptor in the Controller VS comes nagging that it can not be converted to a "MyInterface" Class. Obviously i am doing something wrong. I can change the datatype that the controller expects to the "MyController" type but that would completely ruin the whole idea of flexibillity. I am hoping someone sees what i am trying to do and can point out where i made the thinking error.

View 6 Replies

Interface And Graphics :: Picture Of Interface And Get Feedback On Changes For Easier Use?

May 21, 2012

Is this where i would post a picture of my interface and get feedback on changes for easier use? If not is there someplace on this forum or any other forum to do this?

View 1 Replies

C# - Structure Map - Registering Wrapper Of An Old Interface For A New Interface?

Nov 18, 2011

in the codebase i'm maintaining there is an old interface. Let's call it IFoo. It pretty much became obsolete and replaced with the Interface INewFoo with a change a few weeks ago, but for backwards-compatibility purposes, i wrote a wrapper class which implements INewFoo and takes an IFoo in the constructor.To clarify, consider the following code.

Public Interface IFoo
Sub DoStuff()
End Interface[code].....

For both interfaces, the implementations are loaded by scanning a few assemblies with StructureMap. Now, let's get to the bad things. Most implementations for the old interface were put into forms for reason i can neither understand nor change. Because those tend to be displayed and disposed, i have to create a new instance every time i use ObjectFactory.GetAllInstances(Of IFoo). Thats still no problem, but i'd like to register a INewFoo-Wrapper for each registered implementation of IFoo, so that i can just use ObjectFactory.GetAllInstances(of INewFoo) and get all implementations of IFoo AND INewFoo.I can't iterate through the implementations of IFoo and register a wrapper for each one because as far as i can see, you can just register those with instances.Wrong code below:

ObjectFactory.Configure(Sub(config)
config.Scan(Sub(scan)
For Each ass In assemblies[code].....

My question is: Is it possible to register a wrapper for each implementation of IFoo which always creates a new instance of the implementation before creating a new instance of the wrapper?

View 1 Replies

Declare A Property As An Interface Collection Of An Interface?

Feb 7, 2011

I want to declare a property as an interface collection of an interface, and I want to instanciate the explicit type later, in the constructor. Something like this.

Public Class LicenseFile
Implements ILicenseFile
Public Property Collection As IList(Of ILicenseFileDataNode)

[Code]....

In short, the question is "Why It Didn't work"? This is a simplified scenario, but It's easy to take a workarround, But I need understand the reason because It's fails.

View 2 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved