473,656 Members | 2,762 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

A property or indexer may not be passed as an out or ref parameter

I am trying to pass a reference to a method --SomeMethod. This table
resides in a dataset and I refer to the datatable in the dataset using
an indexer. However when I attempt to do this I get the error message,
"A property or indexer may not be passed as an out or ref parameter?"

Here is the code

SomeMethod(ref ds_User.Tables[1]);
The only way I got it to work is to do the following:

DataTable dt_User;
dt_User = ds_User.Tables[1];
SomeMethod(ref dtUser);

Is there a cleaner method of accomplishing this? I know you VB.Net
allows you to use a property or indexer as a ref when calling a method.
Any idea why C# doesn't?

Thanks in advance.

Nov 17 '05 #1
5 17662
I'm not 100% sure but I think you need to Google for "Delegate C#". I
believe that you need to implement a Delegate to "pass" a method.
--
Robert W.
Vancouver, BC
www.mwtech.com

"rw*****@yahoo. com" wrote:
I am trying to pass a reference to a method --SomeMethod. This table
resides in a dataset and I refer to the datatable in the dataset using
an indexer. However when I attempt to do this I get the error message,
"A property or indexer may not be passed as an out or ref parameter?"

Here is the code

SomeMethod(ref ds_User.Tables[1]);
The only way I got it to work is to do the following:

DataTable dt_User;
dt_User = ds_User.Tables[1];
SomeMethod(ref dtUser);

Is there a cleaner method of accomplishing this? I know you VB.Net
allows you to use a property or indexer as a ref when calling a method.
Any idea why C# doesn't?

Thanks in advance.

Nov 17 '05 #2
"Robert W." <Ro*****@discus sions.microsoft .com> wrote in message
news:12******** *************** ***********@mic rosoft.com...
I'm not 100% sure but I think you need to Google for "Delegate C#". I
believe that you need to implement a Delegate to "pass" a method.


But he's not want to pass a method; he wants to pass the value returned
by a method (and has the method being called affect that object)
--
--
Truth,
James Curran
[erstwhile VC++ MVP]

Home: www.noveltheory.com Work: www.njtheater.com
Blog: www.honestillusion.com Day Job: www.partsearch.com
Nov 17 '05 #3
As far as I can see, VB.Net is just doing your workaround for you behind
that scenes. The reason C# doesn't its probably because that isn't
guareteed to work in all cases.

--
--
Truth,
James Curran
[erstwhile VC++ MVP]

Home: www.noveltheory.com Work: www.njtheater.com
Blog: www.honestillusion.com Day Job: www.partsearch.com

<rw*****@yahoo. com> wrote in message
news:11******** **************@ g49g2000cwa.goo glegroups.com.. .
I am trying to pass a reference to a method --SomeMethod. This table
resides in a dataset and I refer to the datatable in the dataset using
an indexer. However when I attempt to do this I get the error message,
"A property or indexer may not be passed as an out or ref parameter?"

Here is the code

SomeMethod(ref ds_User.Tables[1]);
The only way I got it to work is to do the following:

DataTable dt_User;
dt_User = ds_User.Tables[1];
SomeMethod(ref dtUser);

Is there a cleaner method of accomplishing this? I know you VB.Net
allows you to use a property or indexer as a ref when calling a method.
Any idea why C# doesn't?

Thanks in advance.

Nov 17 '05 #4
No, as the error states, you cannot do it the way you want. However, is it
really necessary to use 'ref' for the parameter? If you are trying to modify
data in the data table, then 'ref' is not necessary. What does 'SomeMethod'
do? Are you actually trying to change the table reference stored in the
Tables collection of the DataSet?

<rw*****@yahoo. com> wrote in message
news:11******** **************@ g49g2000cwa.goo glegroups.com.. .
I am trying to pass a reference to a method --SomeMethod. This table
resides in a dataset and I refer to the datatable in the dataset using
an indexer. However when I attempt to do this I get the error message,
"A property or indexer may not be passed as an out or ref parameter?"

Here is the code

SomeMethod(ref ds_User.Tables[1]);
The only way I got it to work is to do the following:

DataTable dt_User;
dt_User = ds_User.Tables[1];
SomeMethod(ref dtUser);

Is there a cleaner method of accomplishing this? I know you VB.Net
allows you to use a property or indexer as a ref when calling a method.
Any idea why C# doesn't?

Thanks in advance.

Nov 17 '05 #5
Thanks Jeremy. You are correct, there was no need to make the
parameter a 'ref'. Thanks again.

Nov 17 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
1943
by: Aaron | last post by:
Hi, I've seen javascript code where a constructor function is passed an argument "document", and inside the function itself the assignment "this.document = document;" is made. This is the code (or the part necessary for the example): function ToggleButton(document) { ToggleButton.images = new Array(4); for(i=0;i<4;i++) { ToggleButton.images = new
2
8456
by: Chua Wen Ching | last post by:
Hi there. I had 3 questions to ask. 1) Public Event ButtonClicked(MessageBoxNumber As Integer, OKButton As Boolean, CancelButton As Boolean, ExitButton As Boolean)
1
2833
by: Dotnetjunky | last post by:
Hi all Is it correct that there's a link between indexer and Items property in C# ? If yes, please show me what is it ? thanks in advance. -- Dotnetjunky
4
2481
by: Roberto Sartori | last post by:
Hi. I'd want to know if it is possible in C # to declare one property analogous to following (written in VB): Property PropertyName (ByVal Index As Integer) As Object Get Return List.Item(Index) End Get Set (ByVal Value As Object)
2
6788
by: Nad | last post by:
Good day, I have a question about the Page.Session property used in ASP.NET This property is defined as follows: public virtual HttpSessionState Session {get;} and HttpSessionState is a sealed class derived from System.Object and it has two indexers one integer and on string. For example the following code can be used to set a Session variable in a web page.
15
8399
by: Prachi Dimble | last post by:
Hi, In vb.Net one can pass arguments to properties. How does one achieve it in c#? Given below is the vb.net code for passing arguments to property getters and setters.. Thanks, Prachi Public Property Field(ByVal strFieldName As String, Optional ByVal tableName As String = "", Optional ByVal rowNum As Integer = 0) Get If tableName <> "" Then Return objDataSet.Tables(tableName).Rows(rowNum)(strFieldName)
5
1852
by: SpotNet | last post by:
Hello NewsGroup, I have a custom class and a collection for that custom class that inherits CollectionBase. As such; public class MyClass { private string datamember1 = string.Empty, datamember2 = string.Empty; private int datamember3 = -1;
8
1433
by: Rainer Queck | last post by:
Hi NG, how can I implement more then one array property to a class? I have read about the Indexer, but as far as I can see this would only work for a Collection type of class like list or arraylist.... an I could only have one indexer per class right? Coming from Delphi I know array properties like
17
2079
by: SemSem | last post by:
i want to know waht is an index and how we use it with a simple example including the main of the program . thanx -- Islam Khalil,
0
8382
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8816
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8717
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
7311
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6162
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4150
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2726
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1930
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1600
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.