Why is this not calling the constructor properly?

Hello, I am working on converting my project from java script to C# and I ran into an issuse in one of my scripts. The script has two classes in it and at one point the one class is supposed to call the constructor from the other class. The constructor call:

objectList.Add(ObjectsInfo(new Instantiate(item, startPos, rotation)));

and the class with the constructor im trying to call:

public class ObjectsInfo
	{
		public GameObject gObject 	= null; // The game object that will be recycled
		public bool 	  inUse 	= true; // Makes sure you don't pull an object that would affect the game
		public ObjectsInfo(GameObject go)
		{
			gObject = go;
		}
	}

It is giving me these errors:
Expression denotes a type', where a variable’, value' or method group’ was expected
The best overloaded method match for System.Collections.Generic.List.Add(Recycling.ObjectsInfo)' has some invalid arguments Argument #1’ cannot convert object' expression to type Recycling.ObjectsInfo’

Recycling is the name of the class calling the constructor of ObjectInfo. From what I can tell from the errors it looks like the Recycling is trying to call a fucntion called ObjectInfo rather than calling the class constructor but im not sure. If that is what it is doing how would I edit the code to make it work? Thank you for your help.

You have to use the ‘new’ keyword in C#. Also you dont have to put new in front of Instantiate.

It will work if you do the following:

objectList.Add(new ObjectsInfo(Instantiate(item, startPos, rotation)));

Try the following line:

objectList.Add(new ObjectsInfo((GameObject)Instantiate(item, startPos, rotation)));