الثوابت العالمية في F# - كيف
سؤال
أحتاج إلى تعيين رقم إصدار ليتم استخدامه في سمة التجميع بواسطة العديد من المشاريع ذات الصلة.
في C# أنا أستخدم ما يلي
public class Constants {
public const string Version = "1.2.3.4";
}
ثم يمكن استخدامه على النحو التالي:
[assembly:AssemblyVersion(Constants.Version)]
ماذا سيكون بنية مكافئة في F#. كل محاولاتي للتوصل إلى ملزمة يمكن قبولها كوسيطة سمة لم تنجح.
المحلول
استخدم السمة Literal
:
[<Literal>]
let version = "1.2.3.4"
[<assembly:AssemblyVersion(version)>]
نصائح أخرى
منذ أن دخلت في هذا الفخ بنفسي ، اعتقدت أنني كنت أشارك أي شخص يتبع. يتطلب "الحرفي" أن تبدأ الرسالة بحرف رأسمالي. سيضربك هذا عندما تحاول استخدام الحرف في بناء نمط مطابقة.
المرجعي:السمة الحرفية لا تعمل
لا تنتمي إلى StackOverflow