Interfaces - Is ISomething An Interface Or An Object Or Both
Oct 13, 2011
I'm working on learning VB.Net after having programmed in VB6, VBA, and VBScript for several years. I'm assuming that something that begins with the letter I is an interface. However, a lot of places I see people/documentation referring to what appears to be class objects that begin with I. I guess I'm under the impression that Interfaces are contracts that class objects can agree to.
[Code]...
View 5 Replies
ADVERTISEMENT
Apr 30, 2012
I have ended up with the following event structure in a custom control - it seemed to be the recommended way for my scenario in MSDN (though it wasn't easy to follow!) This is the MSDN page I used,MSDN - How to: Implement Events in Your Class.
[code]...
What now has me totally confused (even more so than I was about setting up the above pattern) is what to declare in the Interface? I wanted to declare the event in the interface since there will be several other classes that do similar things and they need to be used interchangeably (hence an Interface in the first place) and if I've gone down the Interface route it seems smart to make sure the 'minimum' content that each class will have to implement declared in the Interface...
View 13 Replies
Oct 21, 2009
I'm dealing a problem in implementing interface for multiple class.
Assuming I have a class named Class Unu .
I created an interface called Test for those 2 classes.
The first class Unu has 2 data members(i=12 and j=12.17). When you run the program it stores the result on screen 24.17
The second class called Doi has 2 data members(a=20 and b=32.17).
What I want now is to do the same thing for data members a and b so that it stores on screen 20+32.17=52.17
My problem is that I want to be displayed also the result for the 2 data members for the second class on my screen. I implemented the interface on class Doi but I cannot see why he isn't displaying me the second result 52.17.
What I must add to my code to do that?
Here's the full code:
CODE:
View 6 Replies
Jun 25, 2010
So say I define some interface, and that interface has members that need to be implemented under some idea, and I then implement this interface on a class that already has those members defined. How do I NOT receive errors about having to implement said members despite them already being implemented (because I didn't type the oh so ridiculous 'implements IMyInterface.foo').
For example say I have an interface that defines the event KeyPress, and then I have a custom Form that implements this interface of mine. It throws an error. VB is the 5th language I've worked in that uses interfaces... and up until now they've all treated interfaces relatively the same. This is the first time I've seen this not allowed. What perplexes me more, is it IS allowed in other .Net languages. Just not VB.
[Code]...
View 4 Replies
Dec 7, 2010
In .net, it's possible to use generics so that a function can accept arguments which support one or more interfaces and derive from a base type, even if there does not exist any single type from which all valid argument types derive. For example, one could say: Sub Foo(Of T As {IInterface1, IInterface2, SomeBaseType})(Param as T) And be allowed to pass any derivative of SomeBaseType which implements both IInterface1 and IInterface2. This will work even if SomeBaseType does not support Interface1 and Interface2, and classes which do implement those interfaces don't share any common ancestor that also implements them. This can be very convenient if one won't need to keep the parameter anywhere after the function has exited. Unfortunately, I can't figure out a way to persist the passed-in parameter in such a way that it can later be passed to a similar function, except perhaps by using Reflection. Is there any nice way of doing that?
The closest I've been able to come up with is to define an interface INest (perhaps not the best name-- thus:
Interface INest(Of Out T)
Function Nest() As T
End Interface
And for any interface that will be used in combination with others or with base-class "constraint", define a generic version as illustrated below:
Interface IFun1
' Any members of the interface go here, e.g. ...'
Sub DoFun1()
[CODE]...
A class which will support multiple interfaces should declare itself as implementing the generic ones, with itself as the type argument.
Class test123a
Inherits sampleBase
Implements IFun1(Of test123a), IFun2(Of test123a), IFun3(Of test123a)
End Class
If that is done, one can define a function argument or class variable that supports multiple constraints thusly: Dim SomeField as IFun1(Of IFun2(Of IFun3(Of sampleBase)))
And then assign to it any class derived from sampleBase, which implements those interfaces. SomeField will implement IFun1; SomeField.Nest will implement IFun2; SomeField.Nest.Nest will implement IFun3. Note that there's no requirement that IFun1, IFun2, IFun3, or sampleBase share any common derivation other than the generic interfaces inheriting from INest(Of T). Note also that, no matter how many INest-derived interfaces a class implements, it only needs to define one implementation of INest(Of T).Nest. Not exactly beautiful, but there are two nice things about it: (1) any concrete class which in fact implements the necessary interfaces can be assigned directly to a field declared as above, without a typecast; (2) while fields which chain the types in a different order are not assignment compatible, they may be typecast to each other. Is there any better way to store something in such a way that it's "known" to support multiple interfaces and derive from a certain base type? Given that one can write such code in a type-safe manner, it would seem like the .net 2.0 CLR could probably support such a thing quite nicely if compilers offered a little assistance.
View 1 Replies
Jan 24, 2012
I was looking through some legacy code we have and I noticed something that struck me as particularly odd.Say we have the concrete class TestClass. TestClass implements the interface ITestClass.What sort of behavior should I expect in the following case, then? (I didn't realize this was even possible)
Dim testClass as TestClass = Nothing
Try
testClass = New ITestClass
[code].....
View 1 Replies
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
Mar 10, 2010
I've got 3 forms that have exactly the same functions, so I decided to create an interface.
public Interface IExample
public sub Add()
Public sub Edit()
[code]....
At this point, objfrmExample is now instantiated, even though I've not done a "objfrmExpample = new [what-goes-here?] " and I'm curious as to why.I could possibly guess that because you cannot instantiate an interface variable, then vb.net automatically creates an instance. But thats just a guess. The question is , what is meant by declaring a variable of type Interface, and how does it work?
View 2 Replies
Oct 16, 2009
Does link text mean I have to return a concrete implementation? Even though I am using svcutil with the /r that includes my entites(where IMyInterface is defined). I get no errors but it changes all List(of IMyInterface) to list(of Object) and I cannot deserialize it on the client
Error: list(of object) cannot be converted to list(of IMyInterface).
View 1 Replies
Mar 4, 2009
I have an interface that describes an specialized list in my application...
[Code]....
Is there a way to make an interface serializable, or am I going to have to convert each of my objects into a concrete class implementing the interface, and then return that class?
View 2 Replies
May 14, 2010
I have an object that inherits from an interface. I can create and return the following:
Dim o As IRequest
o = New Request
Return o
This works fine. Now I want to return a List(Of Requests), so I try the following:
Dim o As List(Of IRequest)
o = New List(Of Request)
Return o
The error below is being given on o = New List(Of Request)
System.Collections.Generic.List(Of MyObjects.Request)' cannot be converted to System.Collections.Generic.List(Of MyInterfaces.IRequest)'.Consider using 'System.Collections.Generic.IEnumerable(Of MyInterfaces.IRequest)'
View 2 Replies
May 19, 2009
I am working in VB.net and have a Class, Foo, that implements an interface, IBar.I have a List of Foo's, but I need to pass a list of IBar's into a function, but I keep getting casting errors, even when I use DirectCast.My code is [code]MainWorks works, but it would be really annoying and inefficient to have to do that everywhere I want to call this function.
View 4 Replies
Sep 1, 2009
I have an object parameter and I need to check if the object implements a specified interface in vb.net. How to test this?
View 2 Replies
Sep 16, 2010
What is the most commonly used convention (in C# and VB) to name object, when I want to emphesize that it is an instance of class that implements some interface. Like here:
//is iDisp correct name?
protected void Dispose(IDisposable iDisp)
{
iDisp.Dispose();
Console.WriteLine("Disposed");
}
View 4 Replies
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
Sep 2, 2010
I have an interface, for the sake of argument called MyInterface.I Have a Control Class, lets name it "Parent" that implements MyInterface.I have another Control Class that inherits Parent, called "Child".I have a final Control Class lets call it "Container", that accepts dragging the parent onto it.[code]I want to modify this not to only accept Parent, but to accept ANYthing that implements MyInterface. I can't figure out how the heck to get it to work. Even more confusing, if I drag the child onto Container, with the code as it is above(checking to see if a Parent was dropped), GetDataPresent always returns false. I would figure it would work, since Child inherited parent.[code]But it bombs and GetDataPresent returns false whether I dragged a Parent or a Child. I'm being an idiot somewhere..
View 1 Replies
Jul 1, 2010
I have a base class called Schedule and three classes inherited: DailySchedule, WeeklySchedule, MontlySchedule. Now I would like to build a form in which users can modify the schedule and I have to compile different parts of it depending on whether the schedule is daily, weekly or monthly. Then I want to have back the schedule modified. Which object can I use on the form?
I thought to implement on the base class an interface iSchedule and to pass the interface to the form, but when I'm on the form constructor how can I cast the interface to the correct class? e.g. in the form constructor I will have a sched variable as iSchedule, I can see that, for example, is a DailySchedule from an interface property called Type. But how can I cast the interface to an instance of the DailySchedule class and to access to its members?
View 1 Replies
Jun 5, 2011
I use the IsAssignableFrom-method to check if the datasource of a bindingsource-object implements an interface i defined. The check happens inside the property-setter like this:
Private WithEvents _BindingSource As BindingSource
''' <summary>
''' BindingSource containing datasource in which search is executed.
''' </summary>
''' <remarks>Datasource must implement ISearchAndFindable.</remarks>
<Description("The BindingSource to search within."), Category("Data")> _
Public Property BindingSource() As BindingSource
[Code] .....
View 4 Replies
Feb 1, 2011
I have to begin saying that I'm working with Visual Basic. The problem is that I have a Entity Framework object and I want to indicate that this object implements a interface, for example:
Public Interface ICatalog
Property created_at() As Date
Property id() As Long
End Interface
Those properties are allready in the object. In c# I've done this just by declaring a partial class of the object and indicates that implements that interface, but in basic is not working, I supouse that is because of the language sintaxis used to declare that a property is implementing some property of the interface, for example:Public Property created_at() As Date Implements ICatalog.created_at
View 2 Replies
Sep 27, 2010
This is another question about my galaga like game. I want the enemies to move to a random spot one pixel away at each tick of a timer. How would I go about doing this?
View 6 Replies
Sep 6, 2010
Lets say I have function returns an object and that object has 10 properties. for example
myStudent.ID
myStudent.Name
myStudent.Surname
[code].....
View 10 Replies
Jun 28, 2011
Does anybody know why I get the error 'that method is not available on that object' when I try to interface with Word 10? Our software works fine with Word 7 and previous
View 1 Replies
May 23, 2011
How can I raise an event from another class which implements an interface that contains an event?
Public Interface IMyEvent
Event MyEvent()
End Interface
[Code].....
Note the comment - that code doesn't work. How can I raise an event like this, if it's contained within another class through an interface?
View 1 Replies
Dec 8, 2004
How can i change the backcolor property of an object to an rgb value?
i do as it says in the help:
Code:
dim ink as long
ink = rgb(233,126,190)
lblInkPot.BackColor = ink
but i get the error "Value of type "Long" cannot be converted to "system.drawing.color"", but it specifically tells you in help to use "long"...
View 4 Replies
Dec 28, 2009
I tried to create a lineshape and make it visible when a timer ticks. Also tried to set everything that would matter when creating it(border colors and thickness etc)
But still, I got no results.
Code:
Dim line = New Microsoft.VisualBasic.PowerPacks.LineShape(CX, CY, ccx, ccy)
line.Parent = New Microsoft.VisualBasic.PowerPacks.ShapeContainer()
line.Enabled = True
[Code]....
View 1 Replies
Apr 19, 2011
I'm new to generics and am having some issues when using with interfaces.I'm developing with VS2008 - .NET 3.5 Ultimately, I'd like to create an interface that inherits the IList(Of T) interface and add a function definition to the derived interface that adds a new element of type T to the list and returns the index of the newly added item.
I have everything figured out but am stuck on a casting issue. If I execute the following line of code at runtime:CType(New clsObjectFactoryList(Of clsIDNamePair), ifObjectFactoryList(Of ifIDNamePair))
View 9 Replies
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
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
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
Oct 16, 2009
Are Interfaces used often? Need opinions.
View 4 Replies