Creating a LineRenderer: its always null

I am attempting to create a LineRenderer on the fly(at run time). But when I declare a LineRenderer its always null for some reason. I am using a C# script to create the object

What am I doing wrong? Can you suggest what needs changing?

void OnGUI() {
	if (GUI.Button (new Rect(10,10,100,20), "Create")) {
    LineRenderer lRend = (LineRenderer)GameObject.Instantiate(new LineRenderer());
    // I've also tried the below
    // LineRenderer = new LineRenderer();
	Debug.Log ("IS NULL"+(lRend == null).ToString ()); // its always NULL??
	lRend.SetColors (new Color(100,0,0,100), new Color(0,0,100,100));
	lRend.SetWidth(10, 1);
	lRend.SetVertexCount(vertices.Length);
	
	for (int i=0; i<vertices.Length; i++)
		lRend.SetPosition(i, vertices*);*
  •   }*
    
  • }*

GameObject gObject = new GameObject(“MyGameObject”);
LineRenderer lRend = gObject.AddComponent();

lRend.SetColors (Color.red,Color.blue);
lRend.material = new Material(Shader.Find("Particles/Additive"));
lRend.SetWidth(1, 1);
lRend.SetPosition(0,Vector3.zero);
lRend.SetPosition(1,Vector3.one);

This line:

LineRenderer lRend = (LineRenderer)GameObject.Instantiate(new LineRenderer());

Could be much simpler:

LineRenderer lRend = new LineRenderer();