Find the name of item being picked up - C#

Hello,
I have worked out how to pick up an item and add it to my inventory, but the method I’m using requires me to specify the objects name. Meaning i could only pickup 1 type of weapon unless i make a separate if statement for each weapon. How could I find the name of the object being picked up and fill in the string name of the weapon. “Find(x => x.ItemName == “Axe”);” Thank you all for any help you can provide.

    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Weapon")
        {
            GameObject tmp = Instantiate(InventoryManager.Instance.itemObject);
            tmp.AddComponent<ItemScript>();
            ItemScript newWeapon = tmp.GetComponent<ItemScript>();
            newWeapon.Item = InventoryManager.Instance.ItemContainer.Weapons.Find(x => x.ItemName == "Axe");
            inventory.AddItem(newWeapon);
            Destroy(tmp);
        }
    }

Thank you everyone. I got it now. I just needed to use other.gameObject.name.

    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Weapon")
        {
            itemName = other.gameObject.name;
            GameObject tmp = Instantiate(InventoryManager.Instance.itemObject);
            tmp.AddComponent<ItemScript>();
            ItemScript newWeapon = tmp.GetComponent<ItemScript>();
            newWeapon.Item = InventoryManager.Instance.ItemContainer.Weapons.Find(x => x.ItemName == itemName);
            inventory.AddItem(newWeapon);
            Destroy(tmp);
        }
    }