Get Properties And Methods For Custom Class?
Oct 29, 2009Is it possible to iterate through the properties and methods of a custom class, getting the details about those properties and methods in the process.[code]....
View 2 RepliesIs it possible to iterate through the properties and methods of a custom class, getting the details about those properties and methods in the process.[code]....
View 2 RepliesI have a class definition that I've seen other define properties that return collections of objects.
Public Property GetAllAdults() as Adults End Property I made the argument that this should be a method in the class, because it doesn't define an attribute of the class, and could not be extended with parameters. Is/Are there reasons why this should be defined as a property vs. a function?
I am trying to figure out the best approach for setting and getting properties in a nested class I am creating. I have a class, Car which has a nested class ControlPanel and want to make the properties of the Control Panel only accessible to the Car and Control Panel class.
[Code]...
I came across a DbParameterCollection object, which should have an "Item" property inherited from IList, but IntelliSense does not show this object has the Item property.
View 2 RepliesI've created a class library and built a dll (release build). I've then referenced the DLL in another project (I've tried several). I can see the namespace and classes in Object Browser and I can declare instances of the classes but I cannot use or see any of the methods or properties! there is no IntelliSense whatsoever and calling the methods manualy results in a 'Declaration expected' error.
Within the class library solution I have a unit test project referencing the class library project which works all works fine (and all the tests pass).
Can anyone provide any pointers to what might be going wrong here? I've built plenty of dlls in the past and have had no trouble referencing them at all.[code]...
I am writing my first class-library in VB.NET. My idea is to distribute this library so others may use it in their applications.However, perhaps due to my lack of experience in writing and structuring the library and the classes therein, I noted that the methods/properties are ALL being shown in the IntelliSense of Visual Studio.
The thing is that many of them are only used within the library itself and should NOT be used by the developers (could create a disaster) when they incorporate my library in their application - only a few should be visibile i.e. the ones which are needed by the developer.Thus, my question is: is there a way to hide certain methods/properties of my library from Visual Studio's IntelliSense? Maybe something similar to REM?
EDIT: as mentioned - this is my first library and I now understand that my question could be intepreted in two ways:
1) how to hide something from IntelliSense
2) how to prevent a developer from using and calling certain methods/properties
Of course, the end-result that I want is that the developer is not able to access AT ALL certain methods/properties i.e. No. 2 above.
I'm moving my first steps in the VB.NET world (I come from VB6) and I'm stuck with the creation of a particular class.
Let's say we have a bus that always has 101 places. I'm trying to create a class containing the map of the bus, along with methods to graphically represent it.
My "Bus" class will have a couple of properties ("BusColor", "BusModel") related to the whole bus. Then it should have a property called "Places" whose type is a custom class thet represents every single place, along with, for example, the passenger name or the place number. This property should of course be an array.
This is my code so far (simplified):
Public Class BusMap
Private Const MAX_PLACES As Integer = 101
Private _BusModel As String = ""
[Code]....
but I wonder if there is a more standard way of doing this.
My second question is: how can I modify my class to be able to iterate its Places property with the "for each" statement? A quick search on the web showed up that I should implement the IEnumerable interface, but I'm still not enough confident with the concept of Interfaces.
I created this function to remove vbCrLf from the values of properties in a Custom Class:(vTransaction)
Public Function ValidateTransaction(ByRef vTransaction)
Dim property1 As String
Dim value1 As String
For Each p As System.Reflection.PropertyInfo In vTransaction.GetType().GetProperties()
If p.CanRead Then
[Code]...
Throughout testing I can verify that vbCrLf is being replaced with a space as expected. When I re-examine vTransaction the changes have not been retained and the vbCrlf's are still there. What do I need to do to retain the changes being made to values in vTransaction.
I need a simple class with only one Public property and no Public methods (the final Class will be more complex, but for testing this is all I need). The Property is "Item" and takes a "String" as a parameter. It returns a "String" based on the parameter. I then want be able to add instances of this object to a List or Array, and then Bind it to a Repeater or a ListView......most importantly, I want to be able to then refer to values in my simple Class via the Eval function:
<%# Eval("SomeIDString**") %>**.
I can't Bind at all unless I declare the Item property as the Default property...why?
When I use "Eval", I get an error in the lines of "[some property] does not exists". indeed it doesn't, because everything is accessed via the Item property. it then does works if I replace "Eval" with "Container.DataItem". Is there a way to use Eval instead of Container.DataItem? I would rather not have my class inherit any other classes because I want to keep it clean from supurfulous properties and/or methods.
Are there interfaces I need to implement? Also, the reason I want to use Eval, is that as much as possible, I want to make the use of this Class simple, so the coder doesn't need to worry about special cases. I just want it to work, much like the DataTable Class, but with a much simpler, lighter-weight implementation.
Let's say I have a custom class called CustomItem that holds the Name and 'SomeProperty' properties:[code]Now, on the click of a Button, I want to select the CustomItem whose SomeProperty is equal to "Property 4". Of course, this is just "Item 4", but the names and properties are not that correlated in the real application than they are in this example.I have spent ages a long time ago figuring out how to do this. I could not directly set the SelectedItem, because I first need to get the CustomItem that actually matches my condition (SomeProperty = "Property 4"). My solution was to use a loop, looping through each item in the ListBox, and setting the SelectedItem when the right property has been found.[code]Now, is this the correct way to approach this problem? Is the LINQ query correct, or can it be done easier, without the casting? Also, is the LINQ query faster than the For loop, especially for a large amount of items? I expect it to be, but I don't know how to test this.
View 4 RepliesWhat I've done is create a User Control Library (Project) and I've added a single User Control to that project. The control contains a single FlowLayoutPanel, and I created a Property on the control itself to pass the FlowDirection from the Control to its FlowLayoutPanel child.
Build, reference, component appears in the Toolbox and everything works fine, but the property on the control does not appear in the Properties window when I go to edit it at design time.
I am not sure how clear my question is by the title, but I am trying to make Class methods instead of Instance methods in Visual Basic that way I don't have to waste memory and code creating temporary objects to execute methods that don't need instance variables.
I am not sure if you can do that in VB but I know you can in Objective-C by using either a "+" or "-" sign in front of the method declaration. And in C++ (at least I think, I can't remember) you put the static keyword or const keyword in front of the function.How would I do this in VB if it is possible? Or should I just make a separate set of functions that are not members of a class?
[code]I want to make the Properties Window to update the properties for X and Y at each MouseMove, so they become immediately visible for the user.
View 2 RepliesI've populated a PropertyGrid with a custom class. How do you create and display a sub property similar to Size (Height, Width) which has two values or Point(X,Y)? For example, the class is Test and the property is Item as string. I want to expand Item to have two sub properties, A and B.
View 1 RepliesI am trying to dynamically create COM object, call COM method and set COM properties. The COM class is a VB6 ActiveX DLL. The implementation is exactly equal to the VB6 code from this page
[Code]...
I want to create a custom class that has inside an array of another custom class (see my code below) but when the programm runs is crashes. Why? What is the right expression???? Plz help I'm a newbie in VB.net.....
Public Class ctrarray
Public nameclass As String
Public ctrlindex(glvar_spaces) As ctrlindexclass
End Class
[code]....
In c# asp.net mvc I can declare some public class like:
public class Foo {
public static string Bar {get
{return "bar";}
}
}
and access it from any html like:
<%=Foo.Bar;%>
right?Well, I have to do the same in ASP.NET MVC VB.Net but I cannot access any variable or method:
public class Foo
public Shared ReadOnly Bar as string
Get
[code]....
UPDATE:standard VB.NET puts modules in the namespace defined in your project.I had to type
MVCApplication1.Foo.Bar
how to create a module that doesn't wrap this into a namespace? Or have the view import the application namespace by default?
If you can't use Me. in a non-instance method, how would you use properties/functions from a base class in a Shared method?
For example, ClassB inherits from ClassA
ClassB has a Shared Method DoWork();
ClassA has a ReadOnly Property SecurityKey
How do I Public Sub DoWork() Dim test as String = Me.SecurityKey End Sub
I have a sub (Sub 1)that passes a control to another sub (Sub2) Sub2 only knows that the control will either be a picturebox ("Pict1") or a rich textbox ("Rchtxbx").I want to put code in Sub2 that does the following if the control that is passed is aPictureBox:ictureBox1.Load("C est.bmp")However I don't know how to do this as when I type in "x" in Sub2, it does not default to the PictureBox properties and methods.Is it possible to use the name of a control and wrap it in some sort of ControlType() enclosure that identifies its type and grants access to its properties and methods?
View 1 RepliesI have one text box that the user enters an integer into. I use a select case to determine what the length of the number is. (along w/ string.length, etc)based on how long it is, I can determine if the number is 1-9, 10-99, 100-999, etc. What I want to do next is, evaluate the number and display a roman numeral that matches.
intMyNumber.substring(1,?) ' 1 would return the leftmost number
if intMyNumber.substring(1,?) = 1 then
if intMyNumber.substring(2,?) = 1 then 'etc
[code]....
Is there a simple way in vb.net to mask a public property or method from the internal namespace? It would be helpful as a refactoring tool to isolate internal dependencies and perhaps to enforce a non-recursion policy for external services.
View 2 RepliesWhen you type sender. IntelliSense lists 5 methods and yet if you type sender.Left or sender.top these will work. Why don't these properties show up as available for use via IntelliSense.
View 2 RepliesIs there a way to annotate functions, subs, properties, and methods so that tool tips will pop-up in the IDE as they're being defined or selected?
View 2 RepliesI was looking for a tutorial and i find this
[URL]
but it does not give the sample code for creating a user control with properties, events, methods
complete to create windows user control? that includes creating properties, events, methods? and if it has how to create web user controls better
at some points, I need to call the same method on those controls (ex. user presses the clear button on the big control, I want to call the clear f(x) on each of the controls)I thought to toss the controls in a collection, and then be able to handle them something like this:
nextturns out, and I should have realized, methods and properties of controls are not exposed when treated this way. The only thing that can be seen is the stuff that the base class (control, I guess) has.
limit the default events, properties and methods exposed from a UserControl so it only displays to the developer the new events etc that I code myself.What i mean is I have created a UserControl with a panel and 5 buttons, written 1 Public Eventonly at this stage, I have placed an instance of the control on a form in a new project, but in the drop down menu that comes up after say (myUserControl1.), there is a massive list of options, I don't want those to appear.
View 3 RepliesThis is more of a user-proofing and aesthetics questions,Whenever we call a method in the .NET framework that requires parameters (most of them), as we're typing the parameters we wish to pass, Intellisense not only tells us the parameter type we need to enter, but it also gives us a brief description of what the parameter is.
Is there any way that we can include that same functionality in the methods that we write?
I want to know what are classes , objects , a namespace , subroutines,functions,methods,properties and differemce betweem byval and byref in your words.
View 18 RepliesI'm trying to implement a Web API project that exposes some models. However, the way the model is retrieved isn't very RESTful. 1.Instead of having just one ID, it has a combination of 4 different ones to populate the model data by running a stored proc on the server.Dim balance as New BalanceSheet(uid, mid, eid, fid)The snippet above will use uid, mid, eid, fid to retrieve the correct record from the database.
View 1 RepliesThis is another one of my "I think it's not possible but I need confirmation" questions.I have a base class for a bunch of child classes. Right now, this base class has a few common properties the children use, like Name. The base is an abstract class (MustInherit)Technically, this means that everytime a child class is instantiated, it lugs around, in memory, its own copy of Name. The thing is, Name is going to be a fixed value for all instances of a given child. I.e., Child1.Name will return "child_object1", and Child2.Name will return "child_object2".
View 1 Replies