Wenn es nur ums "glattzubügeln" geht dann reicht auch ein Interface mit allen public Deklarationen und dann einfach pro Betriebssystem eine Klasse von dem Interface abgeleitet. Dann die betriebssystemspezifische Umsetzung der Funktionen implementieren, die Variable betriebssystemspezifisch erzeugen und mit Supports nur das eine Interface abfragen, oder gleich so benutzen, kann ja kein anderes sein.
ABER, ich glaube darum geht es ihm nicht. Er will ja zusätzliche Funktionen die nur von einem System unterstützt werden auch implementieren. Und dann ist meine Methode die Beste.