This is a theoretical question, I've already got a solution to my problem that took me down a different path, but I think the question is still potentially interesting.Can I pass object properties as delegates in the same way I can with methods? For instance:
Let's say I've got a data reader loaded up with data, and each field's value needs to be passed into properties of differing types having been checked for DBNull. If attempting to get a single field, I might write something like:
This code snippet was converted from the c# snippet on this link A ChildWindow management service for MVVM applications There are two classes in this snippet first is my confirmessage class
[Code]...
Now this works fine in C# , however in vb,net the line where I add the event handler generates the following error on the message.callback property : Property access must assign to the property or use its value I am tearing out my hair on this I have never used the Action of T delegate before so could i be missing something simeple ? I can provide the c# code as well.
I have a function Process(data, f) where data is a normal parameter and f is a function needed to process the data (passed as a delegate to Process)
The signature of f is int f(a,b,c), with a, b, c supplied by Process when it calls the delegate.
Up until here, standard delegate usage.
Now, I have a special but common case where I would like to call Process with a constant f function. So I would like to write SimpleProcess(data, k) so that the caller does not need to create a delegate in this case, just pass the constant k (the only information needed).
So I need to dynamically create a constant function, g(a,b,c) which takes 3 parameters (which are ignored) and always returns k. This has to be done within the SimpleProcess function, so that I can then simply call Process(data, g) from within that function, without the need to rewrite the whole Process function for this special case.
I am trying to create a delegate(as a test) for: Public Overridable ReadOnly Property PropertyName()As String My intuitive attempt was declaring the delegate like this:
[code]...
So the question is, how do I make a delegate for a property?
Is it possible to pass multiple arguments to a delegate method from a list(Of T).ForEach call?So, I'd like to pass a listbox object to the delegate routine below:
Sub test() Dim names As New List(Of String) names.Add("Bruce") names.Add("Alfred")
I'm building an abstract class that handles some common operations for all of my data access objects. The class will utilize generics, so I can't make direct calls to constructors, business object properties, etc. Reflection is way too slow for what I want to accomplish, so I am using a DynamicMethod, ILGenerator, and Delegate caching instead (sample will follow).
The method I'm currently working on is a Private Shared method that populates a list of business objects using records from a data table. I'm having a problem building the property setter via IL. I'm getting an object reference error, but I'm not sure how to fix it. I believe the error comes from the "target" being Nothing, but the parameter I'm passing as the target is not Nothing at the time of invocation. Here are some snippets of what I've got so far:
'class declaration -- TList is strongly-typed list of T Public MustInherit Class DataAccessBase(Of T, TList) ... 'delegate declaration
[code]...
I'm assuming the obj is not being passed correctly as the target, thus causing the target to be Nothing.
from the documentation we have this: Multicast Delegate: Represents a multicast delegate; that is, a delegate that can have more than one element in its invocation list.
so am i right to say that Multicast delegate is no different from a normal delegate other than the fact that it has arguments. so System.Action is a 'normal' delegate whereas System.Action(T)(Byval obj as T) is a multicast delegate?
I have an abstract class which requires a delegate to function. I pass the delegate into the constructor. Now that I have a non default constructor I need to call the abstract class's constructors from the concrete class which means that I need to use MyBase.New(...). I have included a quick example below.
Public MustInherit Class BaseClass Public Delegate Sub WorkMethod() Private _Work As WorkMethod
[code]....
I have tried to do this but I keep getting the following error: "Implicit reference to object under construction is not valid when calling another constructor".Can I not do what I am trying to do above? I initially had the delegate setup in its own setter method. But then I am creating a deceptive API because it does require a point to a method to work properly.
Code: Public Class SendPings Shared Sub New() AddHandler Post.Saved, AddressOf Post_Saved[code].....
I get a error" Method 'Private Shared Sub Ping(item As BlogEngine.Core.IPublishable, itemUrl As System.Uri)' does not have a signature compatible with delegate 'Delegate Sub WaitCallback(state As Object)'.
I'm fairly sure this is possible, but what I want to do is have a generic method where I can pass in an object along with a Expression that will tell the method which Property to use in it's logic.Essentially what I would like to code is something like:
Dim firstNameMapper as IColumnMapper = new ColumnMapper(of Author)(Function(x) x.FirstName) Dim someAuthorObject as new Author() fistNameMapper.Map("Richard", someAuthorObject)
Now the mapper object would know to set the FirstName property to "Richard".Now using a Function here won't work.
I'm setting up a simple helper class to hold some data from a file I'm parsing. The names of the properties match the names of values that I expect to find in the file. I'd like to add a method called AddPropertyValue to my class so that I can assign a value to a property without explicitly calling it by name.The method would look like this:
//C# public void AddPropertyValue(string propertyName, string propertyValue) { //code to assign the property value based on propertyName } 'VB.NET'
[Code]...
Is this possible without having to test for each individual property name against the supplied propertyName?
I'm trying to pass some values to another page and I have the values in List (Of String). However, I'm getting an error (at design-time in the IDE) saying: There is no member "X" of System.Web.UI.Page. I was able to get the Property through Intellisense. So I'm not sure why I'm getting the error.
I am currently learning VB.net but for a project I need to create and array and pass it using a property. The data to be passed will be a train's destination, the time its due and the expected time of the train. I was wondering if someone could simplly explain how to first produce an array and then show how to pass it to a custom control
I`m looking for a way to parse a parameter name like linq does.I want to filter before i download the date from the database.With LINQ the data is already red into a dataset. I only want to select data from the database witch i need. how i can send a property name to a function without using the property name as string and without to use to mutch code inside the function and without creating an instance of the object, etc.
I am trying to write a VB.NET alternative to a C# anonymous function.I wish to call Threading.SynchronizationContext.Current.Send which expects a delegate of type Threading.SendOrPostCallback to be passed to it. The background is here, but because I wish to both pass in a string to MessageBox.Show and also capture the DialogResult I need to define another delegate within. I am struggling with the VB.NET syntax, both from the traditional delegate style, and lambda functions.My go at the traditional syntax is below, but I have gut feeling it should be much simpler than this:
Private Sub CollectMesssageBoxResultFromUserAsDelegate(ByVal messageToShow As String, ByRef wasCanceled As Boolean) wasCanceled = False
Table2 should be updates from table based on the results... If all results is PASS then the table2 should be updated as pass... if any result is FAIL then the entire case_no should be updates a s fail..
This code was working consistently, but now...This code works on the first pass.Then second pass it just hangs on Code:Dim tcpClient As TcpClient = tcpListener.AcceptTcpClient() for about 2 minutesThen the code will fork for another pass, then fail.....
Just started VB programming this week and have found a wealth of information about what I'm trying to do. Problem is, some of it is more complete than others.Here's what I'm trying to do:In Form1 (my main form), I want to instantiate a class that contains a couple of properties (speed setpoint and position setpoint). When I click a button, I want to pass this data to Form2 and populate two textboxes on Form2 with the properties of this object. I want to manipulate the property values on Form2 and click an OK button which closes the dialog and returns the manipulated data, updating the property values of the object. Here's the algorithm I'm following:1) On Form1, instantiate the class2) On Form1's "Pass Data" button click event handler, instantiate a Form2 object and invoke the ShowDialog method, passing the object as a parameter.
3) On Form2, overload the ShowDialog method to accept the object as a parameter and modify the method so that it returns the manipulated class data.4) On Form2, in the ShowDialog method, populate the textboxes with the class data that was passed in.Here's where I get stuck. If I press the OK button on Form2 (DialogResult.OK), it returns me to Form1, but what hook do I have in Form1 to receive the manipulated class data that the ShowDialog method is returning?Here's an example of what I'm thinking about:
Code: Public Class Form1 Dim clsController1 As New MotionController
[code].....
I'm sure it's probably a very elementary question, but every explanation I've found seems to be incomplete.
While reading this threadthe code sample there came from MSDN, which was used to demonstrate the use of a delegate. I know what Delegates are. And I know how they work when it comes to things like crossing threads and even sinks.... how ever, the sample given is a simplecontrived example, and I'm wondering why/when would I use a delegate in this situation? Or in any situation? In my head, it seems it would have been easier/cleaner to call the function pointed to directly...
I'm in the process of converting some existing code to VB. However, I'm running into a bit of a snag. It seems that in C#, a delegate can have a return value, but not so in VB. So my question is, how would I convert the following VB code to handle this?.[code]
im developing a way of calculationg differentil equations in VB 2008 using the 4th order ruge-kutta method. I pursched a book by Jack Xu called "Practical WPF Graphics programming".