Im getting NullReferenceException error

Im getting NullReferenceException error for this line this.transform.SetParent (inv.slots[slot].transform); in the item data class when trying to move one of the item in the inventory to a another slot.

here is my code
public class Inventory : MonoBehaviour {

GameObject inventoryPanel;
GameObject slotPanel;
ItemDatabase database;
public GameObject inventorySlot;
public GameObject inventoryItem;

int slotAount;
public List<Item> items = new List<Item>();
public List<GameObject> slots = new List<GameObject>();

void Start()
{
	database = GetComponent<ItemDatabase>();

	slotAount = 25;
	inventoryPanel = GameObject.Find("Inventory Panel");
	slotPanel = inventoryPanel.transform.FindChild("Slot Panel").gameObject;

	for (int i = 0; i < slotAount; i++)
	{
		items.Add(new Item());
		slots.Add(Instantiate(inventorySlot));
		slots *.GetComponent<Slot> ().id = i;*

_ slots*.transform.SetParent(slotPanel.transform);_
_
}_
_
AddItem(2);_
_
AddItem(1);_
_
}_
_
public void AddItem(int id)_
_
{_
_
Item itemToAdd = database.FetchItemByID(id);_
_
if (itemToAdd.Stackable && CheckItem(itemToAdd))_
_
{_
_
for (int i = 0; i < items.Count; i++)_
_
{_
_ if (items.ID == id)
{
ItemData data = slots.transform.GetChild(0).GetComponent();
data.amount++;
data.transform.GetChild(0).GetComponent().text = data.amount.ToString();
break;
}
}
}
else*

* {
for (int i = 0; i < items.Count; i++)
{
if (items.ID == -1)
{
items = itemToAdd;
GameObject itemObj = Instantiate(inventoryItem);
itemObj.GetComponent().item = itemToAdd;
itemObj.GetComponent ().slot = i;
itemObj.transform.SetParent(slots.transform);
itemObj.transform.position = Vector2.zero;
itemObj.GetComponent().sprite = itemToAdd.Sprite;
itemObj.name = itemToAdd.Title;
break;
}
}
}
}
bool CheckItem(Item item)
{
for (int i = 0; i < items.Count; i++)
if (items.ID == item.ID)
return true;
return false;
}
}
public class ItemData : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
{
public Item item;
public int amount;
public int slot;
private Inventory inv;
private Vector2 offset;
void Strat()
{
inv = GameObject.Find (“Inventory”).GetComponent (); }
public void OnBeginDrag (PointerEventData eventData)
{
if (item != null)
{
offset = eventData.position - new Vector2 (this.transform.position.x, this.transform.position.y);
this.transform.SetParent (this.transform.parent.parent);
this.transform.position = eventData.position - offset;
GetComponent ().blocksRaycasts = false;
}
}
public void OnDrag (PointerEventData eventData)
{
if (item != null)
{
this.transform.position = eventData.position - offset;
}
}
public void OnEndDrag (PointerEventData eventData)
{
this.transform.SetParent (inv.slots[slot].transform);
this.transform.position = inv.slots[slot].transform.position;
GetComponent ().blocksRaycasts = true;
}
}
public class Slot : MonoBehaviour, IDropHandler
{
public int id;
private Inventory inv;
void Start()
{
inv = GameObject.Find (“Inventory”).GetComponent ();
}
public void OnDrop (PointerEventData eventData)
{
ItemData droppeditem = eventData.pointerDrag.GetComponent ();
if (inv.items [id].ID == -1) {
inv.items [droppeditem.slot] = new Item ();
inv.items [id] = droppeditem.item;
droppeditem.slot = id;
} else*

* {
Transform item = this.transform.GetChild (0);
item.GetComponent ().slot = droppeditem.slot;
item.transform.SetParent (inv.slots[droppeditem.slot].transform);
item.transform.position = inv.slots[droppeditem.slot].transform.position;
inv.items [droppeditem.slot] = item.GetComponent ().item;
inv.items [id] = droppeditem.item;
droppeditem.slot = id;
droppeditem.transform.SetParent (this.transform);
droppeditem.transform.position = this.transform.position;
}
}
}*_

Problem is the ItemData class. You mistyped Start(), so inv never takes a value and remains null. Hence, the ReferenceExceptions.