C# - Pass A Property As A Delegate?

Jul 30, 2010

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:

if(!rdr["field1"].Equals(DBNull.Value)) myClass.Property1 = rdr["field1"];

But if I've got say 100 fields, that becomes unwieldy very quickly. There's a couple of ways that a call to do this might look nice:

myClass.Property = GetDefaultOrValue<string>(rdr["field1"]); //Which incidentally is the route I took

Which might also look nice as an extension method:

myClass.Property = rdr["field1"].GetDefaultOrValue<string>();

Or:

SetPropertyFromDbValue<string>(myClass.Property1, rdr["field1"]); //Which is the one that I'm interested in on this theoretical level

In the second instance, the property would need to be passed as a delegate in order to set it.

View 7 Replies


ADVERTISEMENT

Property Access Must Assign To The Property Or Use Its Value Action Of T Delegate?

Sep 20, 2010

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.

View 8 Replies

.net - Create And Pass Custom Function As A Delegate?

Aug 5, 2009

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.

View 3 Replies

C# - Create A Delegate For A .NET Property?

Apr 7, 2009

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?

View 6 Replies

Pass Multiple Arguments To A Delegate Method From A List(Of T).ForEach Call?

Sep 6, 2011

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")

[code]....

View 4 Replies

Create Property Setter Delegate Via DynamicMethod?

May 28, 2010

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.

View 4 Replies

Multicast Delegate: Represents A Multicast Delegate; That Is, A Delegate That Can Have More Than One Element In Its Invocation List?

Jan 30, 2010

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?

View 5 Replies

Pass A Delegate Into A Constructor Of An Abstract Class From A Descendant's Constructor?

Feb 15, 2010

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.

View 3 Replies

Delegate - BeginInvoke - EndInvoke - Clean Up Multiple Async Threat Calls To The Same Delegate?

Feb 9, 2010

I've created a Delegate that I intend to call Async.

[Code]...

View 2 Replies

Get A Error" Method 'Private Shared Sub Ping Does Not Have A Signature Compatible With Delegate 'Delegate Sub ?

Jun 1, 2010

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)'.

View 4 Replies

Pass Property To Access Using .NET?

May 29, 2010

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.

View 3 Replies

C# - Pass In A Property Name As A String And Assign A Value To It?

Aug 9, 2010

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?

View 3 Replies

Pass A List Through The PreviousPage Property?

Oct 24, 2011

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.

Here's the code:

[code]...

View 2 Replies

Unable To Pass The ImageRawData Into A Property?

Apr 27, 2010

I am having trouble to retreive a Image Raw Data into a Property, I included the related function and the Property.

The error I got is:.ImageRawData = CByte(dr.Item("ImageRawData"))

Error Message:Value of type 'Byte' cannot be converted to '1-dimensional array of Byte'

Public Function SelectOneImage() As ImagingData
Dim adapter As New DataAdapter
Dim ds As New DataSet

[code]....

View 2 Replies

2008 Create Array And Pass It Using A Property

Apr 19, 2009

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

View 1 Replies

Pass Property To Create Filter Like LINQ?

Jan 6, 2011

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.

Module
Module1
Dim user
As user =

[code]....

View 13 Replies

Pass The Property Of An Object To A Function ByRef

Jul 16, 2009

If you pass the property of an object to a function ByRef, and the function doesn't modify the ByRef parameter, the property Set is still called.

[Code]...

View 11 Replies

Multithreading - Delegate Within A Delegate?

Mar 23, 2010

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

[code].....

View 2 Replies

.net - 'Property' Cannot Implement 'Property' Because There Is No Matching Property On Interface 'IName'?

Dec 9, 2011

I'm having some very weird issues with interfaces right now.

I have a very simple setup. In one of my class, I have a Property implementing a Property from an Interface.

In my class it's like:

Private _oForm As IForm
Public Property Form As IForm Implements IContainer.Form
Set(value As IForm)

[Code]...

I have like dozens of interfaces like this working throughout my project and I can't believe this simple one can't work!

View 1 Replies

VS 2005 Update Table - If All Results Is PASS Then The Table2 Should Be Updated As Pass

Jun 8, 2012

I have two tables:

table1

case_no flow result
tc_1 001 pass
tc_1 002 pass
tc_1 003 pass
tc_2 001 pass
tc_2 002 fail
tc_2 003 pass


table2"

case_no result
tc_1 pass
tc_2 fail

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..

View 7 Replies

Sockets - VB9 .Net 3.5 (2008) Code Works On The First Pass.Then Second Pass It Just Hangs On

Jun 19, 2009

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.....

Code:Imports SystemImports System.TextImports System.Collections.GenericImports System.XmlImports System.Xml.LinqImports System.Net.Sockets

[CODE]....

View 2 Replies

Pass Data To Dialog - Manipulate And Pass Back?

Jan 15, 2010

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.

View 2 Replies

Why Use A Delegate

Apr 22, 2009

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...

View 18 Replies

.net - Already Defined Delegate?

Feb 11, 2010

I heard once that .net introduced an already defined delegate with no parameter that we could use instead of creating one.

View 1 Replies

Addhandler With A Delegate?

Nov 23, 2009

I came across a snippet of C# code which is very useful. I am trying to convert it to VB.NET, but can't seem to.

timer.Tick += delegate { panel.Children.Add(source); timer.Stop(); };

Is it possible to translate this to something similar in VB?

View 7 Replies

Anonymous Delegate From C#

Jun 28, 2010

I have below code in C#:

[Code]...

View 3 Replies

Convert Delegate From C# To .net?

Aug 3, 2011

I'm having trouble converting a C# delegate to VB.NET.

How can this be done?

public MainForm()
{
InitializeComponent();
_twain = new Twain(new WinFormsWindowMessageHook(this));
_twain.TransferImage += delegate(Object sender, TransferImageEventArgs args)

[Code]...

View 2 Replies

Convert Delegate From C# To VB?

Oct 28, 2011

how can I convert the following code from C# to VB without exposing "variable" as global variable.

[Code]...

View 3 Replies

Converting Delegate From C#

Dec 31, 2009

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]

View 3 Replies

Convertion From C# To .net Using Delegate?

Jun 20, 2009

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".

[Code]...

View 2 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved