F# ما يعادل الكلمة الرئيسية للكائن C#
سؤال
أحاول تنفيذ C# موجود إلى F# وهل سوف أكون عالقًا في نقل خط C# هذا:
public object myInnerOject
المحلول
في C# object
هو مجرد اسم نوع يشير إلى System.Object
. في F#، يمكنك إما استخدام اسم .NET الكامل أو الاسم المستعار obj
.
الآن ، فيما يتعلق بالإعلان الميداني - هناك طرق مختلفة للكتابة اعتمادًا على السياق. أيضًا ، من الممارسات الجيدة تهيئة جميع الحقول في F#، لذلك سيكون من المفيد رؤية سياق أكبر للرمز الخاص بك.
ومع ذلك ، يمكنك كتابة هذا:
type A() =
let mutable (myInnerObj:obj) = null
هذا يخلق مجالًا خاصًا myInnerObj
من النوع System.Object
تهيئة إلى null
, ، يمكن تخصيصه في وقت لاحق (myInnerObj <- new Random()
, ، فمثلا). لقد استخدمت مثالًا مع المجال الخاص ، لأن الحقول العامة يتم تثبيتها عمومًا في .NET.
نصائح أخرى
Tomas على حق. قد ترغب أيضًا في التحقق من هذه المدونات:
لا تنتمي إلى StackOverflow