ูู ุงูู .NET Frameworkุ ููู ุญุงุฌุชูู ู ูู ูู ุฌุฏูุง ุนุดุงู ูุถู ู ุฅู ูุบุงุช ุงูุจุฑู ุฌุฉ ุงูู ุฎุชููุฉ ุชูุฏุฑ ุชุดุชุบู ู ุน ุจุนุถ ุจุดูู ุณูุณ: ุงูู CLS ูุงูู CTS. ููุง ููุชููู ุนู ูู ูุงุญุฏ ูููู ูุฅูู ูุงูุฏุชูู .
Common Language Specification (CLS)
- ุงูู CLS ูู ุฌุฒุก ู ู ุงูู CLR ูู ุงูู .NET Framework.
- ุจูุชููู ุนู ุงูู specification ุจุชุงุนุช ุงูู common language (ุงูู IL).
- ุงูู CLS ุงุฎุชุตุงุฑ ูู Common Language Specification ููู subset ู ู ุงูู CTS. ุจูุญุฏุฏ ู ุฌู ูุนุฉ ู ู ุงูููุงุนุฏ ูุงููููุฏ ุงููู ูุงุฒู ุฃู ูุบุฉ ุจุชุดุชุบู ุชุญุช ุงูู .NET framework ุชูุชุฒู ุจููุง.
What is CLS?
- ุงููCLS ูุนูู Common Language Specificationุ ูุฏู ุฌุฒุก ุฃุณุงุณู ู ู ุงูู .NET ู ูู ุชู ุฅูู ูุญุฏุฏ ู ุฌู ูุนุฉ ู ู ุงูููุงุนุฏ ูุงููููุฏ ุงููู ูุงุฒู ูู ูุบุฉ ุจุฑู ุฌุฉ ู ุฏุนูู ุฉ ูู ุงูู .NET ุชุชุจุนูุง ุนุดุงู ุชุดุชุบู ุตุญ.
- ุงููุฏู ุงูุฃุณุงุณู ู ู ุงูู CLS ูู ุฅูู ูุฎูู ุงูููุฏ ุงูู ูุชูุจ ุจุฃู ูุบุฉ ู ู ุงููุบุงุช ุงูู ุฏุนูู ุฉ ูู .NET ููุฏุฑ ูุชููู ููุชุนุงู ู ู ุน ุงูููุฏ ุงูู ูุชูุจ ุจูุบุงุช ุชุงููุฉ ุจุณูููุฉ ูู ู ุบูุฑ ู ุดุงูู.
Why is CLS Important?
- ุจูุณูู ุงูุชูุงูู ุจูู ูุบุงุช ุจุฑู ุฌุฉ ู ุฎุชููุฉ ูุชูุฑ ุฒู C#, VB.NET, F#, ูุบูุฑูู .
- ุจูุถู ู ุฅู ุงูู ูููุงุช (components) ุงููู ุจุชุชุนุงู ู ู ุน ุจุนุถ ุชููู ู ุชูุงููุฉุ ูุฏู ุจูุณูู ุนู ููุฉ ุฅูู ุชุณุชุฎุฏู ุงูููุฏ ุฃูุชุฑ ู ู ู ุฑุฉ (reusability) ูุชุทูุฑ ุชุทุจููุงุช ูุจูุฑุฉ ูู ุนูุฏุฉ.
CLS Rules Examples:
- ูุงุฒู
ุชุณุชุฎุฏู
ุฃููุงุน ุจูุงูุงุช ู
ุฏุนูู
ุฉ ู
ู ุงูู CLS ุฒู ุงูู
int, ุงููstring, ุงููbool. - ุจูู ูุน ุฅูู ุชุณุชุฎุฏู ุฃููุงุน ุจูุงูุงุช ุฎุงุตุฉ ุจูุบุฉ ู ุนููุฉ ูู ุด ู ุฏุนูู ุฉ ูู ูุบุงุช ุชุงููุฉ ุนุดุงู ุชุถู ู ุงูุชูุงูููุฉ.
- ุจูุญุฏุฏ ุทุฑููุฉ ู ูุญุฏุฉ ูุชุณู ูุฉ ุงูุญุงุฌุงุช (ุฒู ุงูู Methods ูุงูู Properties) ุนุดุงู ูู ุงููุบุงุช ุชูุฏุฑ ุชููู ูุง.
Common Type System (CTS)

What is CTS?
- ุงููCTS ูุนูู Common Type Systemุ ูุฏู ูู ุงููุธุงู ุงูู ูุญุฏ ูุฃููุงุน ุงูุจูุงูุงุช (Data Types) ูู ุงูู .NET.
- ุงูู CTS ุจูุญุฏุฏ ูู ุฃููุงุน ุงูุจูุงูุงุช ุงููู ุงูู .NET Framework ููุฏุฑ ูุชุนุงู ู ู ุนุงูุงุ ูุฏู ุจูุดู ู ุงูุฃููุงุน ุงูุจุณูุทุฉ ูุงูู ุนูุฏุฉ.
Why is CTS Important?
- ุจูุถู ู ุฅู ุฃู ููุน ุจูุงูุงุช ุจุชุนุฑูู ูู ุฃู ูุบุฉ ุจุฑู ุฌุฉ ุจูููู ู ุชูุงูู ูููุฏุฑ ูุชุนุงู ู ู ุน ุฃููุงุน ุงูุจูุงูุงุช ูู ุงููุบุงุช ุงูุชุงููุฉ.
- ุจูุณูู ุนู ููุฉ ุงูู Compilation ูุงูุชุญููู ููู IL (Intermediate Language) ุนุดุงู ุชููู ู ุชูุงููุฉ ูู ุด ู ุญุชุงุฌุฉ ุชุนุฏููุงุช ู ุฎุตูุตุฉ ุจูู ุงููุบุงุช ุงูู ุฎุชููุฉ.
CTS Types:
- ุงูู CTS ุจููุณู
ุงูู Types ูููุนูู ุฃุณุงุณููู:
- ุงูู Value Types: ุฒู ุงูู
int, ุงููbool, ุงููdouble, ุงูู Structุ ุงูู Enum. ุฏู ุจุชุฎุฒู ุงูููู ู ุจุงุดุฑุฉ ูู ุงูู Stack ุฃู ุฌูู ุงูู Objects ุนูู ุงูู Heap ูู ูุงูุช ุฌุฒุก ู ููุง. - ุงูู Reference Types: ุฒู ุงูู Classุ ุงูู Stringุ ุงูู Arrayุ ุงูู Delegate. ุฏู ุจุชุฎุฒู ู ุฑุฌุน (reference) ููู data ุงููู ุจุชููู ู ุชุฎุฒูุฉ ุนูู ุงูู Heap.
- ุงูู Value Types: ุฒู ุงูู
How CTS and CLS Interact?
- ุงูู CLS ูู ู ุฌู ูุนุฉ ู ู ุงูููุงุนุฏ ุงููู ุจุชุนุชู ุฏ ุนูู ุงูู CTS ุนุดุงู ุชุถู ู ุฅู ุงูู Types ุงููู ุจุชุณุชุฎุฏู ูุง ุงููุบุงุช ุงูู ุฎุชููุฉ ุชููู ู ุชูุงููุฉ.
- ู ุซูุงูุ ุงูู CLS ุจููุฑุถ ุนููู ุชุณุชุฎุฏู ุฃููุงุน ุจูุงูุงุช ู ูุฌูุฏุฉ ูู ุฏุนูู ุฉ ูู ุงูู CTS ุนุดุงู ุชูุฏุฑ ุชุชุนุงู ู ู ุน ุงูู Code ุงูู ูุชูุจ ุจูุบุงุช ุชุงููุฉ ูู ุงูู .NET.
Example
ุฎูููุง ูุงุฎุฏ ู ุซุงู ุจุณูุท ุนุดุงู ูููู ุงูููุฑุฉ ุฃูุชุฑ ุจูู ุงูู CLS ูุงูู CTS:
- ูู ุนูุฏู class ู
ูุชูุจ ุจูุบุฉ C# ูุจูุณุชุฎุฏู
ููุน ุจูุงูุงุช
int:
public class MyClass
{
public int MyProperty { get; set; }
}- ุงูููุน
intุฏู ู ุฏุนูู ู ู ุงูู CLS ูุจูุชุนุฑู ูู ูุธุงู ุงูู CTS ุนูู ุฅููSystem.Int32. - ูู ุญุฏ ูุชุจ ููุฏ ุจููุณ ุงูู Class ุฏู ุจูุบุฉ ุชุงููุฉ ุฒู VB.NETุ ูููุฏุฑ ูุณุชุฎุฏู
ุงูู
MyClassุฏู ุนุงุฏู ุฌุฏูุง. ูููุ ุนุดุงู ุงููintูู C# ูุงููIntegerูู VB.NET (ุงููู ูู ุง ู ุชูุงูููู ู ุนSystem.Int32ูู ุงูู CTS) ู ุชูุงูููู ุญุณุจ ููุงุนุฏ ุงูู CLS. ุฏู ุจูุณู ุญ ููุบุงุช ุงูู ุฎุชููุฉ ุฏู ุฅููุง ุชุชุนุงู ู ู ุน ุจุนุถูุง ุจุณูููุฉ.
Summary
- ุงููCLS ุจูุญุฏุฏ ุงูููุงุนุฏ ูุงููููุฏ ุนุดุงู ูุถู ู ุฅู ูุบุงุช ุงูุจุฑู ุฌุฉ ุงูู ุฎุชููุฉ ูู .NET ุชูุฏุฑ ุชุชููู ู ุน ุจุนุถ.
- ุงููCTS ูู ุงููุธุงู ุงูู ูุญุฏ ูุฃููุงุน ุงูุจูุงูุงุช (Data Types) ุงููู ุจูุถู ู ุฅู ูู ุงูู Types ูู .NET ู ุชูุงููุฉ ูุณููุฉ ุงูุงุณุชุฎุฏุงู ุจูู ุงููุบุงุช ุงูู ุฎุชููุฉ.
- ุงูุงุชููู ุจูุดุชุบููุง ุณูุง ุนุดุงู ูุญูููุง ุงูุชูุงูููุฉ ูุงูู ุฑููุฉ ูู ุชุทููุฑ ุงูู Applications ุนูู ู ูุตุฉ .NET.
ููู ุงูู CLS ูุงูู CTS ุจูุฎููู ุชูุชุจ ููุฏ ู ุชูุงูู ุฃูุชุฑ ูููุฏุฑ ุฃู ุญุฏ ูุณุชุฎุฏู ู ุจุณูููุฉ ุจูุบุฉ ู ุฎุชููุฉุ ูุฏู ุจูุณุงุนุฏ ูู ุฅู ุงูู Development ุจุชุงุน ุงูู Applications ูุจูู ุฃุณูู ูุฃุณุฑุน.