Constraint with properties in passing as reference

Hello friends,

I happened to encounter this trouble while trying to pass the reference of a Property.

public class LinkedListQ : QNode


private QNode head = null;

public QNode Head




return head;



class Program


static void Main(string[] args)


LinkedListQ que = new LinkedListQ();

que.ReverseList(ref que.Head); //Error “A property, indexer or dynamic member access may not be passed as an out or ref parameter”


The reason as per MSDN is – Properties are not variables. They are methods, and cannot be passed to ref parameters.

The workaround I figured out is to change the head variable to internal in order to be accessible from the Program class and pass the head variable reference instead of the Property.

internal QNode head = null;

que.ReverseList(ref que.head); //Works fine

Hope you liked the post. Please share your comments.
Reference: C# Reference

Leave a comment

Your email address will not be published. Required fields are marked *