سؤال

أحاول تنفيذ 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 على حق. قد ترغب أيضًا في التحقق من هذه المدونات:

بناء الجملة الأساسي للأنواع F#

كيف يبدو رمز C# هذا في F#؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top