As I read before in some of this forums thread (here and here) properties are just syntactic sugar. This 2 implementations are the same after compilation:
class Item
{
    string _name;
    public string Name
    {
        get => _name;
        set => _name = value;
    }      
}
class Item
{
    string _name;
    public string GetName() => _name;
    public void SetName(string name) => _name = name;        
}
If my hypothesis above it's true, why I can do this:
class Works
{
    Item _item;
    void SetItemName(string name) => _item?.SetName(name);
}
But I can't do this:
class Fails
{
    Item _item;
    void SetItemName(string name) => _item?.Name = name;
}
In the last example, _item?.Name = name produces this compiler error:
The left-hand side of an assignment must be a variable, property or indexer