2010-12-07 16 views
5
public partial class Device : MarshalByRefObject 
{ 
    internal bool FindTagName(string name, OneTag tag) 
    { 
     foreach (FuncSect fs in listFuncSect) 
     { 
      foreach (OneTag ot in fs.listTags) 
      { 
       if (ot != tag && ot.Name == name) return true; 
      } 
     } 
     return false; 
    } 

aún no tienen idea de cómo convertir este "parcial" y "interno" a F #C# a F # Convertir Dispositivo clase parcial pública: MarshalByRefObject

gracias

Respuesta

9

Como dice leppie, no hay soporte directo para partial, aunque podría lograr un efecto similar con intrinsic type extensions. F # admite los métodos internal, por lo que su ejemplo sería el siguiente:

// primary definition somewhere 
type Device() = 
    inherit MarshalByRefObject() 
    ... 


// type extension (roughly equivalent to partial class) 
type Device with 
    member internal this.FindTagName(name:string, tag:OneTag) = 
    listFuncSect 
    |> Seq.exists 
     (fun fs -> 
      fs.listTags 
      |> Seq.exists (fun ot -> ot <> tag && ot.name = name)) 
5

partial es una función # compilador de C, no va a funcionar en F #, tendrá que combinar todas las clases parciales, o heredar de una existente.

Cuestiones relacionadas