As others have said, you are looking for the .AsReadOnly() extension method.
However, you should store a reference to the collection instead of creating it during each property access:
private readonly List<SomeOtherClass> _items;
public WhatClass()
{
_items = new List<SomeOtherClass>();
this.Items = _items.AsReadOnly();
}
public ReadOnlyCollection<SomeOtherClass> Items { get; private set; }
This is to ensure that x.Items == x.Items holds true, which could otherwise be very unexpected for API consumers.
Exposing ReadOnlyCollection<> communicates your intent of a read-only collection to consumers. Changes to _items will be reflected in Items.