Reflection When Object Contains Other Objects?
Nov 15, 2010
I am trying to create an object browser similar to what VS2010 uses for the quick watch window. I can use reflection to iterate through the properties and display their names and values until I get to the point in an object where the property is an object of my own creation and not a system type. I can't seem to find the correct approach to be able to iterate the properties of these "sub objects".
Below is the just of what I am trying to do
Public class myClass
property myprop a string
[code].....
View 2 Replies
ADVERTISEMENT
Sep 25, 2009
Running into problems creating objects through reflection and then running them on multiple threads.
I just cannot seem to figure out what I need to here:
For Each WorkerNode As XmlNode In oRunSettings.GetWorkerValues
orkerName = WorkerNode.Attributes(SETTING_NAME_ID).Value
Dim oWorkerType As Type = Type.GetType(String.Format("Worker.{0}", sWorkerName))
Dim oWorker As Object = Activator.CreateInstance(oWorkerType)
[Code]...
It is causing errors at the "AddressOf" because Object does not have a method called that. Do I need to do something with an interface?
View 2 Replies
Feb 23, 2009
I coded a class that scans an object and maps data from a data table into each one of the corresponding properties, it works very well, however I am not able to set the property of one of the child (coplex objects)
Public Class CntrConfHdr
Private m_CntrConfHdrID As Double
Private m_HeaderCode As String
[Code]...
I want to set the value for the child object TypeCurrency.TypeCurrencyID thus I set the value of the variable sTargetPropertyName to TypeCurrency.TypeCurrencyID but the application willnot work stating that the property can not be found.
View 1 Replies
Jan 6, 2011
I want to let the user input objects to a richtextbox 1 object on each line, and somehow use Random.Next to select pseudorandomly a few objects, the number 'few' inputted in a textbox.
View 9 Replies
Sep 23, 2011
I'm wondering if there's a way to use Reflection to inspect properties of a COM object? GetType() doesn't want to return the actual type.
View 3 Replies
Jul 19, 2011
I know how to get the properties using reflection but how would you get the function name and type of a property:
For Example: Combobox.Items.Add
I would like to get the info. for "Add" with reflection. Is this possible in .Net?
View 3 Replies
Jul 19, 2011
How to get the object description using reflection. I can get the name, value, etc... but not the decription like in .net.For example the description for .Text is "Gets or sets the text associated with this control." I thought maybe using MethodInfo, but does not give the description.
Dim MethodObj As MethodInfo
Console.WriteLine("Methods:")
For Each MethodObj In GetType(TextBox).GetMethods()
Debug.Print(MethodObj.Name & " " & MethodObj.ReturnType.ToString())
Next
View 2 Replies
Aug 29, 2011
How can I get the name of the object that was passed byref into a method?
Example:
Dim myobject as object
sub mymethod(byref o as object)
debug.print(o.[RealName!!!!])
end sub
[code]....
I'm using this for logging. I use one method multiple times and it would be nice to log the name of the variable that I passed to it. Since I'm passing it byref, I should be able to get this name, right?This would give you the parameter name in the method and it's type, but not the name of the variable that was passed byref.
using system.reflection
Dim mb As MethodBase = MethodInfo.GetCurrentMethod()
For Each pi As ParameterInfo In mb.GetParameters()
[code]....
If you put that in "mymethod" above you'd get "o" and "Object".
View 3 Replies
Sep 15, 2010
This function loops all properties of an object to create the updatequery to save te object to the DB.
We had to make some changes to it because of the introduction of nullable properties. If the property is nullable we would like to check the 'HasValue' property. This does works when it has a value. When the property has no value we get an 'Non-static method requires a target'-error at the CBool-line
An other way to check the 'HasValue'-prop of a property using reflection?
Private Function GetUpdateQuery(ByVal obj As Object, ByRef params As List(Of SqlParameter), Optional ByVal excl As String() = Nothing) As String
Dim sql As String = String.Empty
[Code].....
View 1 Replies
Apr 10, 2012
I'm using EF 4.3.1 in VS 2010 (.Net 4.0) to load a number of reference tables from a database in order to bind them to controls in a WinForms app.At form load, I'm pre-fetching the data so that it's stored locally, and I'm creating a dictionary of BindingSource objects that I can use to bind the local data to the controls.The intent is to minimize the impact of the EF's self validation on a cold query in order to load forms faster and improve UI responsiveness.I've written code to create and fetch the BindingSource object for a given DbSet collection as follows:
Private _dictBindings As New Dictionary(Of String, BindingSource)
Private Sub ValidateBinding(Of T As Class)(ByRef DbCollection As DbSet(Of T))
Dim strClassName As String = DbCollection.[GetType]().GetGenericArguments(0).Name
If Not _dictBindings.ContainsKey(strClassName) Then[code].....
However, I'd like to call ValidateBinding on all DbSet collections in the Model on startup, and I'd like to use reflection to iterate through the available collections in the context because we're currently loading 66 tables and could add more later.I've written the following code:
For Each propSet As PropertyInfo In Db.GetType.GetProperties(BindingFlags.Instance Or BindingFlags.Public).Where(Function(P) P.PropertyType.IsGenericType)
ValidateBinding(propSet.GetValue(Db, Nothing))
Next
but it won't work as propSet.GetValue() returns an Object instead of DbSet(of T).I also can't cast the object to a DbSet of the appropriate type, even though I know the type through reflection.I don't have access to the C# Dynamic type,and I know it's a pain to mix generics with reflection, but is there a solution for which I can pass in a reflected DbSet to my functions?Perhaps something using Method.Invoke?
View 1 Replies
Dec 14, 2010
I have tried several versions of this with no luck. The casting of the worksheet works as my data is entered in other parts, but I have a section where I need to add data 1 column right of the cell containing the 'str(0)' value. Most of these parameters are optional. I have even tried the System.Reflection.Missing object.
[Code]...
View 5 Replies
Jan 5, 2012
Is it possible to call a protected method via reflection. I am using this:
Me.GetType.InvokeMember(Stages(CurrentStage),
Reflection.BindingFlags.InvokeMethod,
Nothing,
Me,
Nothing)
Which always calls a method with no params or return. The idea is that the user of my object (transactional processing of business logic) inherits the base class adds in a load of private methods to fire. They then add these method names to a list in the order they would like them fired and the code above will take care of firing them.
It works fine with public methods but not with private or protected methods in the same class (Protected because I have some 'standard' pre built methods to add to the base class). Realistically I could make the methods public and be done with it but my inner nerd wont allow me to do so...
I am assuming this is a security feature. Is there a way to get around this or does anyone have any suggestions on how to proceed but keep my tasty, tasty visibility modifiers in tact?
(NOTE: ITS IN VB.NET but a C# Answer is fine if that is what you are comfortable with).
View 3 Replies
Sep 11, 2009
I wonder if anyone can help me - I've not done much with reflection but understand the basic principles.What I'm trying to do:I'm in the process of developing a class that gathers a lot of information about the local system, network, etc... to be used for automated bug reporting. Instead of having to change my test harness every time I add a new property, I'd (ideally) like to be able to serialise the lot as an XML string and just display that in a textbox.
Unfortunately, the Framework won't use the default XML serializer on read-only properties (which almost all of mine are) as they wouldn't deserialize properly [Not sure I agree with the assumption that anything serialized must be de-serializable - MS says this is a feature "by design" which I suppose I can understand - Perhaps a tag to indicate that it should be serialized anyway would be advantageous?]
The initial approach was to make properties gettable and settable (with a throw exception on the setter) but the amount of work tidying this up afterwards seems a little excessive and I would want the properties to be read-only in the final version.What I need help with:My current plan is to use reflection to recursively iterate through each (public) property of my topmost gathering class. The problem is, the samples I've seen don't handle things recursively. Additionally, I only want to inspect an object's properties if it's in one of my assemblies - Otherwise just call .ToString on it.
If I don't have the inspection limited to my assembly, I assume I'll get (say) a string which then contains a Length which in turn will have .Tostring method.For the purposes of this project, I can almost guarantee no circular references within my code and as this will only be used as a development tool so I'm not too concerned about it running amok now and then.
View 2 Replies
Sep 6, 2011
Limited to using v2.0 of .Net framework (we use VB.net) due to environmental constraints on our servers.I've got an ASP.net webpage which pulls data from a webservice that performs checks on user accounts in active directory. Operators can check multiple accounts at one time using the web interface. The webservice returns a list(of AccountCheck) objects which themselves contain single properties like username, email address, and List(of AccountError) objects which contain multiple properties.[code]What I want to do is using some kind of repeater, create multiple panels or divs which contain labels showing the username, email etc, and a gridview which has the accounterror list bound to it to show all the errors. The users could be checking 2, 5, 7 accounts at once, and is dynamic.
View 2 Replies
Aug 27, 2009
I searched on the forum / Internet for the solution how a PropetryInfo object (of a Public property) can reveal if it has a Private Protected Setter ... it was all in vain .... all help I found was about how to "Set" value of a public property having a Private Setter.I would like to know if I have a PropertyInfo object of a public property, how would I know if its Setter is Non Public?
I tried, in a exception handling block, where I did a GetValue of the PropertyInfo object and then called SetValue by setting the same value back... but to my surprise it worked well and didn error out.
[Code]...
View 1 Replies
Jan 20, 2010
I am having some real issues with this one. I have a class which contains two other objects...but I cannot seem to instantiate those sub objects. Here is the code for my class:
Option Explicit On
Public Class Boot
'A collection of Heads and Shells
[Code]....
Notice the count for my two objects, Ohead, and oShell, is zero. Im not sure why this doesnt instantiate properly, as I believe is what is going on.
View 2 Replies
Jan 20, 2010
I am having some real issues with this one. I have a class which contains two other objects...but I cannot seem to instantiate those sub objects. Here is the code for my class:
Code:
Option Explicit On
Public Class Boot
[code]......
View 1 Replies
Jan 20, 2010
I am having some real issues with this one. I have a class which contains two other objects...but I cannot seem to instantiate those sub objects. Here is the code for my class:
Code:
ption Explicit On
Public Class Boot
[code].....
View 7 Replies
Jul 12, 2010
I have a managed class that uses a COM that looks like this.
[Code]....
Since I am using an unmanaged dll through a COM-Interob dll I am wondering if I need free the innerobj manually or if the gc is smart enough to do it automagically if I call ReleaseObject() My class implements IDisposable and I do the following atm: Runtime.InteropServices.Marshal.ReleaseComObject(myobj) Do I need to take care of releasing all inner objects that are created by the COM Object or not? And If I do have to do it, does the order matter (first inner then parent vs parent then inner)?
View 2 Replies
Apr 20, 2010
So I've created a series of objects that interact with a piece of hardware over a serial port. There is a thread running monitoring the serial port, and if the state of the hardware changes it updates properties in my objects. I'm using observable collections, and INotifyPropertyChanged.
I've built a UI in WPF and it works great, showing me real time updating when the hardware changes and allows me to send changes to the hardware as well by changing these properties using bindings.
What I'm hoping is that I can run the UI on a different machine than what the hardware is hooked up to without a lot of wiring up of events. Possibly even allow multiple UI's to connect to the same service and interact with this hardware.
So far I understand I'm going to need to create a WCF service. I'm trying to figure out if I'll be able to pass a reference to an object created at the service to the client leaving events intact. So that the UI will really just be bound to a remote object.
Am I moving the right direction with WCF?
Also I see tons of examples for WCF in C#, are there any good practical use examples in VB that might be along the lines of what I'm trying to do?
View 1 Replies
Mar 15, 2012
I don't know if I explained this in my title, this is what i want to do. (In VB on a active server page) I have 5 buttons called but1.....but2. Right now I have the following code to make them invisible
but1.Visible=false;
but2.Visible=false;
but3.Visible=false;
but4.Visible=false;
but5.Visible=false,
Is there a way to access the objects by using a string, example
for(i=i;i<6;i++
items("but"+str(i)).visible=false
View 1 Replies
Mar 3, 2009
OK - for starters - I'm not even sure that the title of this thread accurately describes what I want to do - but I had trouble verbalizing it. So I will give this a try: In my application, I have a custom object, call it myObject. In addition, I have another custom object called myObjectList which is basically a List(Of myObject).
Up until this point, all of the functions that I have been working with in my BLL and DAL have been shared - I haven't needed a specific instance of my object thus far. I currently need to write a function that finds a particular myObject within myObjectList and returns to me myObject. I know that the List(Of T) has a find method, but from what I have read so far - I don't think it is what I want (doesn't it return true or false? -and also, do I need an existing object to pass to it to see if it is in the list?)
[Code]...
View 5 Replies
Sep 25, 2011
Is it possible to find a complete object in list of objects?
how to find x in list1 if it exists without comparing a single property like ID ?
View 1 Replies
Sep 14, 2011
Is there a simple way to remove Objects from a List by using a specified value?I add 2 persons to a List, how can now I remove a person by a name without using any Loops? (if possible)
[Code]...
View 3 Replies
Sep 15, 2011
I need to query an array. I have tried to use LINQ but with no success.
Here is a simplified structure of Insurance
Public Class Insurance
Public _typ As String
Public _numb As Number()
[Code]....
View 1 Replies
Aug 30, 2011
I have a group of objects stored in an arraylist. These custom type objects have a number of properties from their underlying class . I want to use one of the properties to sort the array. I cannot determine which Array.Sort method to use.
I want to sort based on an integer property. Virtually every example I can find involves sorting strings.
So, assume the Objects have the following properties.
Obj.name as string
Obj.ID as integer
Obj.Alive as boolean
The objects are kept in an arraylist called FriendsOfMine.
I want to be able to order the list by Obj.ID, both ascending and descending in value.
View 12 Replies
Jul 30, 2011
Given an object instance, how can I recurse its members (i.e. the whole object graph) for an object of a specific type, or one that inherits from a specific type?
View 1 Replies
Jul 28, 2010
I've been thinking about my options when it comes to events in vb.net.What I'd like to do is to track events that are fired in an application without explicitly declaring them with 'handles' sub. Here is a pseudo-[code]....
Yeah I know, not quite working, but is there any way of implementing something like this in vb.net? My end game is really to be able to monitor events fired in many objects from another object, isn't there a more maintainable way to do that then to add a special sub in each object that handles the event that I want to catch? I need some way to let one object handle events fired in other objects without a special sub, the AddHandler goes a long way, but I can't really use that dynamically like so:[code]....
View 5 Replies
Feb 23, 2009
I'm trying to wrap my head about how to properly implement an OOP design for business objects that:
Have a "master list" in a database (ex. classifications)Are a part of another object as a property (i.e. object composition) but with additional properties
Here is where I'm stuck on the theory. Suppose that I have a Classification object, inheriting from the abstract class BusinessObject with the CRUD functions defined (MustOverride). This will give me:
[Code]...
What kind of other design could I implement here? It's obvous that I'm designing this the wrong way, but I don't see an easy alternative pattern. I don't want to repeat the code in the CustomerClassification class by not inheriting Classification and repeating all the field and property code, but I also don't want to expost CRUD functions to the CustomerClassification level. What am I missing in looking at the overall class design?
EDIT: Saving the classification level to the database will be handled by the customer object, because the database is legacy and the field for Level is defined in the customer table.
View 2 Replies
Aug 7, 2009
I want to retrieve an object by using a string representation of the objects name. For example lets say i want to change the font of 3 labels on a form programatically. Instead of changing the font property for each individual label like so:
Label1.Font = FontDialog1.Font
Label2.Font = FontDialog1.Font
Label3.Font = FontDialog1.Font
I want iterate through the labels in a For..next loop like so:
[Code]..
View 4 Replies