First, you cannot call a generic method Get on a dataset with a type parameter <string> and an argument of type DicomSequence. If you look into the library's definition for T Get<T>(DicomTag tag, int n, T defaultValue) (in a source file DicomDataset.cs), you'll find out that for tags with VR="SQ" (dataset items of type DicomSequence), and if type T equals to <string>, this method throws a dicom data exception, and rightfully so.
Second, a fo-dicom syntax to access an element in a nested dataset looks similar to that of your reference, except that you should use a generic method Get on a dataset with a type parameter <DicomSequence> and there is no indexer to select a single nested dataset. So you write something like
var elementValue =
dicomfile.Dataset.Get<DicomSequence>(DicomTag.IonBeamSequence).Items[0]
.Get<DicomSequence>DicomTag.IonRangeCompensatorSequence).Items[0]
.Get<float>(DicomTag.CompensatorColumnOffset);
(if the type of CompensatorColumnOffset values is float).
Verbose, but spares reflection some times.