"Definuje třídu s klíčovým slovem partial. Toto klíčové slovo říká, že definice třídy bude rozdělena do více souborů. Jedna část třídy bude součástí společného zdrojového kódu, druhá část bude součástí zdrojového kódu pro danou platformu. Tímto způsobem jednoduše a efektivně rozdělit kód i jeho překlad."
Tohle je IMHO cesta do pekel. Není nad to, když se buď třída nedá zkompilovat vůbec nebo v různých kontextech je jiná. Tohle by se mělo řešit rozdělením rozhraní a implementace. Vytvořím 4 třídy (společnou + pro každou platformu speciální a žádné ifdef nepotřebuju). Prostě na androidu použiju jinou implementaci rozhraní než na windows. Celkově si myslím, že v C# by měl programátor ifdef používat co nejméně. Rozhodně ne pro konfiguraci projektu (od toho je make, IDE nebo cokoliv co se používá na správu projektu).