Interface Be Implemented Across An Aggregate/composite Class In .net?
Mar 30, 2010
VB.NET .NET 3.5 I have an aggregate class called Package as part of a shipping system. Package contains another class, BoxType . BoxType contains information about the box used to ship the package, such as length, width, etc. of the Box.
Package has a method called GetShippingRates. This method calls a separate helper class, ShipRater, and passes the Package itself as an argument. ShipRater examines the Package as well as the BoxType, and returns a list of possible shipping rates/methods.
What I would like to do is construct an Interface, IRateable, that would be supplied to the helper class ShipRater. So instead of:
[Code]...
However, ShipRater requires information from both the Package and its aggregate, BoxType. If I write an interface IRateable, then how can I use the BoxType properties to implement part of the Interface?
View 2 Replies
ADVERTISEMENT
Jan 12, 2011
I have an Entity class which Implements IWeightable:
Public Interface IWeightable
Property WeightState As WeightState
End Interface
I have a WeightCalculator class:
Public Class WeightsCalculator
Public Sub New(...)
..
End Sub
Why can I not do wc.Calculate(entities)? I receive:
Unable to cast object of type
'System.Collections.Generic.List1[mynameSpace.Entity]'
to type
'System.Collections.Generic.IList1[myNamespace.IWeightable]'.
If Entity implements IWeightable why is this not possible?
View 2 Replies
Apr 9, 2010
I've boxed in red. The class displayed here does implement INotifyPropertyChanged, but the VB compiler seems to think that the PropertyChanged event as declared does not match the signature of INotifyPropertyChanged.PropertyChanged.Here I've selected the offending line of code. Between this and the next screenshot I literally just cut and paste the exact same line back into the file (i.e., I hit Ctrl + X followed by Ctrl + V).I have this happen sometimes, particularly with the INotifyPropertyChanged interface in my experience but I have no idea if the problem is limited to that single interface (which would seem bizarre) or not.Let's say I have some code set up like this. There's an interface with a single event. A class implements that interface. It includes the event. [code] Every now and then, when I build my project, the compiler will suddenly start acting like the above code is broken. It will report that the Person class does not implement INotifyPropertyChanged because it doesn't have a PropertyChanged event; or it will say the PropertyChanged event can't implement INotifyPropertyChanged.PropertyChanged because their signatures don't match.This is weird enough as it is, but here's the weirdest part: if I just cut out the line starting with Event PropertyChanged and then paste it back in, the error goes away. The project builds.
View 2 Replies
Jun 17, 2011
I want to be able to get an instance of a class based on two fields in that class. I was hoping to use something like a dictionary, because I thought indexing would be the best for performance. Should I just use LINQ or go back to a strongly typed dataset? Here's an example of what I'm trying to do[code]...
View 2 Replies
Jan 2, 2012
I'm seeing a strange build bug a lot. Sometimes after typing some code we receive the following build error.
Class 'clsX' must implement 'Event PropertyChanged(sender As Object, e As PropertyChangedEventArgs)' for interface System.ComponentModel.INotifyPropertyChanged'.
And
'PropertyChanged' cannot implement 'PropertyChanged' because there is no matching event on interface 'System.ComponentModel.INotifyPropertyChanged'.
Those error should never go together! Usually we can just ignore the exception and build the solution but often enough this bug stops our build. (this happens a lot using Edit and Continue which is annoying)Removing the PropertyChanged event and retyping the same code! sometimes fixes this.We're using a code generator that causes this error to surface but just editing some files manually triggers this exception too. This error occur's on multiple machines using various setups.
View 4 Replies
Dec 27, 2010
I have a base class which must be overriden. This base class sits in one dll shared by all. The derived classes will each be in their own dll such that the addition of a new derived class can be done by distributing a new dll. The set of dlls, and therefore the set of derived classes, will be discovered by the main program on startup. That's all pretty straightforward. The problem is that the main program needs to be able to query a database to figure out which type of derived class it needs, then create a class of that type. Naturally, it can't know which types will be available ahead of time because even I don't know that. The program has to be dynamically extensible.The obvious way to do this is to have an interface in the dll that is implemented by a class with a default constructor. The sole purpose of that class would be to return an object of the type (one of the derived types) defined in that dll. The derived types can't really be this class, because they can't have a default constructor since the base class doesn't have a default constructor, and the derived class can't make up the arguments that the base class constructor needs.
So basically, each dll that houses a derived class would also house a simple class that implemented an interface for the sole purpose of creating that particular derived class. The main program would examine the dll to find a class that implemented the interface, and once it found one, it could ask it what type of class it created, or it could ask it to create an instance of that class. It seems like there ought to be an easier way to dynamically add new classes to the project. It seems like the derived class ought to be able to tell the main project what type it was. This could be done, except that the derived class would have to exist before any of its methods could be called unless the methods were shared. Since you can't have a shared method in an interface, the interface itself would make no sense at that point, in which case I would need to discover whether the class in the dll derived from the base class in the second dll, just to figure out whether or not I wanted to create it. That's getting convoluted by now, so I guess I'll leave it there. The basic point is that the base class is known to the main program from a common dll. The number and types of derived classes can't be known at this time, so the program has to be able to discover them dynamically. Each derived class will sit in its own dll (or there could be more than one in a dll), and has to be discovered, and instances created, as needed, by the main program.
View 2 Replies
Dec 20, 2011
I have a class that exposes an auto implemented property Enabled
[Code]...
But If I had not use an auto implemented property and declared my own backing-field as follows this is accessible from the subclass: Private _Enabled as Boolean ---- EDIT ----
The abve line is incorrect - this is not possible, it was in fact Protected in the original code which allowed access from the sub class See @JonSkeet answer ---- EDIT Of course I can just access Enabled from the sub class to work around this but can someone explain why this is the behaviour?
View 2 Replies
Jan 17, 2009
I have an interface class (IUser) which is the interface of class User. Now, i want to put these into an IList but am confused as to how i should declare the IList:Dim userList As IList(Of IUser) = New List(Of IUser) Dim userList As IList(Of User) = New List(Of User) Dim userList As IList(Of IUser) = New List(Of User) Dim userList As IList(Of User) = New List(Of IUser) when instantiating should you always use its implementation; and when using it as a type use its interface?
And when im creating a new user should i use: Dim myUser as IUser = new User?
View 3 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 1, 2010
I need to create unit testing project for my current website. The currentw ebsite si written in VB. All unit testing examples are using interface to create mock object. My current VB class does not implment any interface. Can I add interface and implement it to my current class and functions without affecting or changing codes to any pages in my website that call the functions? For examples my current class is like:
[Code]...
View 2 Replies
Jul 6, 2010
I'm making a custom class that mocks the System.Drawing.Rectangle class because the Rectangle class doesn't have a name property. I need a name property because I am adding all of my rectangles to a collection and I need a little more info stored than just their locale and size. So I changed the _onPaint event but nothing is working out when I run the program?
Public Class Rectanglar : Inherits UserControl
Public BackgroundColor As Color = Color.Blue
Public Sub New(ByVal name As String, ByVal XY As Point, ByVal Widthy As Integer, ByVal Heighty As Integer)
[code].....
View 5 Replies
Apr 9, 2010
I am trying to create a class in VB.NET which inherits a base abstract class and also implements an interface. The interface declares a string property called Description. The base class contains a string property called Description. The main class inherits the base class and implements the interface. The existence of the Description property in the base class fulfills the interface requirements. This works fine in C# but causes issues in VB.NET.
[Code]...
View 5 Replies
Jun 10, 2011
Suppose I have piece of code like this:
Public Interface ISomething
....
End Interface
[code]....
View 2 Replies
Jan 21, 2010
I can do this without problem.
Class A
End Class
Class B : Inherit A
End Class
Dim Obj1 As A = New B
View 4 Replies
Jun 18, 2009
class inherit from another class and implement an interface?
View 4 Replies
Jul 29, 2010
I know that an interface can contain another interface within it.But;can a class contain another class within it?Can an interface contain another interface within it?
View 9 Replies
Mar 25, 2012
I have a class which has a variety of details, as follows:
Vehicle Name
Vehicle Address
VEHICLE Percentage: 10
I need to somehow use an Interface for another version, SpecialVehicle.
Special Vehicle has a different Percentage, for example 15.
How can I integrate that in an interface? I just don't understand them?
View 1 Replies
Oct 28, 2010
I am working on a plugin architecture and after some reading I have settled on one. The host class will be implemented in C# as well as some of the plugins for that host. The issue I am having is that some of my team uses VB.net. So the question, is it possible to implement a C# (plugin)interface in VB, such that when it is dynamically loaded into the host program it will have the methods required by the interface.
View 1 Replies
Dec 4, 2009
I've got a web user control (.ascx) which implements a couple of interfaces I wrote; namely IXMLBoundControl and ISectionOverridingControl.I've written a mini-CMS type application that dynamically loads controls onto the page based on information in a database. When I click a button on a web page (.aspx), I want to look at all the controls on that page, and determine if there is a control which implements the ISectionOverridingControl.
I've got my loop and I'm looping through the controls; that's fine. However I'm not sure what the best way is to determine whether or not the control implements the interface. What I'm doing at the moment (and works) is to try to cast each control into the ISectionOverridingControl and catching InvalidCastException: If I don't get the catch; I consider it's worked. If the exception is thrown then it doesn't implement the interface.
It's working, however, I consider this inefficient (relying on exceptions): surely there's a better way in VB.NET (I've seen an example in C# but it didn't convert to VB) to tell whether an instance of a class implements an interface or not?
View 3 Replies
Dec 23, 2009
Say I want to know more about a class mshtml.htmlinputelement for example.Say I want to know. What is his parent classes? What interface the class implement? How do I do so through object browser?
View 1 Replies
Aug 27, 2011
Since interface provides 100% abstraction over its members then why we are allowed to define a class inside an interface? We can define class inside interface, even instantiate it and call its members ,why? I am not getting the clear picture over this .Why this is allowed and what can be its implication or benefit.[code]
View 4 Replies
May 8, 2012
Create composite and custom grid control in ASP.Net 2008 or above
I need to create composite control . My control like one "div" inside that div one Gridview control.
View 2 Replies
Jun 27, 2012
I'm trying to make a composite application.Lets say there are two regions with a view in each that interact with each other via drag and drop, view A contains a list of tasks that view b (which contains a list of People) doesn't really know about.When I select some tasks in the list from view a and drop it to another list maintained by view b which module should know what happened? does the module that maintains the tasks need to know about the module that maintains the people, or vice-versa? Where should I start?
View 4 Replies
Feb 6, 2010
I'm trying to create a composite control that will look like a ComboBox with a TreeView style. I'm new to this topic and I have an urgent need to create such control. I know it's not an easy task but please I need your advice to complete what I already started to build.My approach was to combined a TextBox, button and a treeview into a UserControl and make them work together as one control to achieve the control that I'm looking for (A ComboBox with a Treeview style).
So I started by creating a new windows forms control library project and I added a text box and a button as a starting point. The text box will display the name of the selected node text of the treeview and the button will show the treeview under the text box when the user click on it.
Now I'm facing tow problems with my custom control:First when I drag the custom control to a test form the resizing of the control doesn't work properly even after I used the anchor property of the text box and button controls. If I try to resize it horizontally its working find but it's not vertically.
Second I don't know how and where should I place the treeview control and how I'm going to show it exactly under the text box when the user click on the button and hide it when the user click on one of the treeview nodes.
View 1 Replies
Mar 30, 2011
I have one interface that contains four functions. I have about 20 classes that implement this interface. Throughout each class, I see a lot of duplicate code, for example, there are constants declared at the beginning that are in every class. The method implementations (logic) of the interface are mostly the same.It contains duplicate structures. Is this a case where I can eliminate a lot of duplicate classes by implementing an abstract class instead of an interface. What I am striving for is too be able to put common methods from the abstract class as non-abstract methods and then methods that need their own implementation would be marked over-ridable. Can I put consts and structures in abstract classes? If so, that would eliminate a lot of duplicate code across the classes. Is there anything else I should look out for in the classes as a sign that I probably should be use an abstract class instead of an interface.
View 2 Replies
Sep 8, 2011
I'd like to make sure each of the subclasses has a certain nested class whose actual fields are up to the developer.
Nesting an abstract class inside the base abs. class doesn't seem to do the trick because during actual coding, both the nested abs. class and the nested class in the subclass both are available (show up in intellisense).
Having the base class implement an interface that includes a class doesn't work since interfaces only refer to methods that can be implemented, not classes (meaning implementing the interface requires implements methods, but says nothing about classes in the interface.
View 2 Replies
Jan 31, 2011
understanding difference between an interface and an abstract class which has no function with implementation?which is better abstract cls or interface in term of speed, features..?
View 11 Replies
Feb 23, 2010
I've got an Interface that dictates classes that implement it to use a large amount of properties and a few methods. I've been using this interface for some time and I have a large amount of classes that implement it.
Now, I need the interface to become a MustInherit (abstract) class, because I need to implement a single method that must be the same for every class implementing the interface (I mean the implementation must be the same, hence I cannot use an interface anymore).
Is there a way to do this automatically, perhaps even using third party tools such as resharper (which is C# only I think?) or similar? I get a headache even thinking about the work I need to do to make this change manually[code]....
View 12 Replies
Jul 16, 2009
I am reading a book (ASP.NET 3.5 Enterprise Application Development with Visual Studio 2008: Problem Design Solution, WROX)The source code is written in C#, but I am a VB guy, so I am giving it a try. Somewhere in the 2nd chapter, there is a Linq to Sql file used that is generated by drag&dropping the DB tables from the Database Explorer. Because some tables have the same type of fields, there is an interface generated called IENTBaseEntity. The writer says its a good practice to implement this interface in another partial class (not the designer.vb file!). The reason for this is that when the LinqToSql file is modified (and regenerated) the changes wont be lost.
In C# this solution is easy to do (i think), but in VB.Net I get an error, because the concerning properties in the LinqToSql file do not append the 'Implement IENTBaseEntity.Property' line. When I press [Enter] after the interface implementation line, VS generates other properties like this
Partial Public Class ENTUserAccount
Implements IENTBaseEntity '--->This line results in the error
' This is not the way it should be
Public Property InsertDate1() As Date Implements IENTBaseEntity.InsertDate
Get
End Get
[code]....
View 5 Replies
Mar 10, 2009
On my custom control I've added a Property 'DisplayMode' that, at run time, does a great job of showing or hiding different sets of the standard controls. But, at design time - no matter what I seem to do, my control shows all of the child controls associated with it
View 1 Replies