ููŠ ู„ุบุฉ C#ุŒ ุงู„ู€ Class ู‡ูˆ ุนุจุงุฑุฉ ุนู† Data TypeุŒ ูˆุชุญุฏูŠุฏุงู‹ ู‡ูˆ ู†ูˆุน ู…ู† ุงู„ู€ Custom Data Types (ุงู„ุฃู†ูˆุงุน ุงู„ู…ุฎุตุตุฉ ุงู„ู„ูŠ ุฅุญู†ุง ุจู†ุจู†ูŠู‡ุง). ูˆุชุตู†ูŠูู‡ ุจูŠูƒูˆู† ู…ู† ุงู„ู€ Reference Types.

ุงู„ู€ Class ู‡ูˆ ุงู„ู€ Data Structure ุงู„ู„ูŠ ุจุชู…ูƒู‘ู†ู†ูŠ ุฅู†ูŠ ุฃุฌู…ุน ุงู„ู€ Variables (ุงู„ู„ูŠ ุจุชู…ุซู„ ุงู„ู…ุชุบูŠุฑุงุช ุฃูˆ ุงู„ุญุงู„ุงุช) ู…ุน ุงู„ู€ Functionalities (ุงู„ุฃูุนุงู„) ุฌูˆุง โ€œูˆุญุฏุฉ ูˆุงุญุฏุฉโ€ (Single Unit).

Class Structure & Organization

ุงู„ู€ Class ุฏู‡ ู„ุงุฒู… ูŠูƒูˆู† ู„ูŠู‡ ุงุณู… (Name). ูˆุฌูˆุง ุงู„ู€ Project ุงู„ูˆุงุญุฏุŒ ุจู‚ุฏุฑ ูŠูƒูˆู† ุนู†ุฏูŠ ุฃูƒุชุฑ ู…ู† ClassุŒ ูˆูƒู„ ูˆุงุญุฏ ููŠู‡ู… ุจูŠุคุฏูŠ ุบุฑุถ ุฃูˆ ู‡ุฏู ู…ุฎุชู„ู.

Namespace Organization

ูƒุนู…ู„ูŠุฉ ุชู†ุธูŠู…ูŠุฉุŒ ุจู‚ุฏุฑ ุฅู†ูŠ ุฃุดู…ู„ ู…ุฌู…ูˆุนุฉ ู…ู† ุงู„ู€ Classes ูˆุฃุญุทู‡ู… ุจุฏุงุฎู„ Namespace. ูŠุนู†ูŠุŒ ูƒู„ ุงู„ู€ Classes ุจูŠุชู… ุชู†ุธูŠู…ู‡ุง ุฏุงุฎู„ ุงู„ู€ Project ุงู„ูˆุงุญุฏ ุจุชู‚ุณูŠู…ู‡ุง ุนู„ู‰ ุฃูƒุชุฑ ู…ู† Namespace.

ูˆู…ุด ุจุณ ูƒุฏุฉุŒ (System) ุจุชุงุนูŠ ู…ู…ูƒู† ูŠุชูƒูˆู† ู…ู† ุฃูƒุชุฑ ู…ู† ProjectุŒ ูˆูƒู„ ู…ุดุฑูˆุน ุจูŠุญุชูˆูŠ ุนู„ู‰ ุฃูƒุชุฑ ู…ู† NamespaceุŒ ูˆุฌูˆู‡ ูƒู„ Namespace ููŠู‡ ู…ุฌู…ูˆุนุฉ ู…ู† ุงู„ู€ Classes.

Uniqueness Rule

ููŠู‡ ู†ู‚ุทุฉ ููŠ ุบุงูŠุฉ ุงู„ุฃู‡ู…ูŠุฉ ู„ุงุฒู… ุชุงุฎุฏ ุจุงู„ูƒ ู…ู†ู‡ุง: ุงุณู… ุงู„ู€ Class ู„ุงุฒู… ูŠูƒูˆู† Unique (ู…ู†ูุฑุฏ) ุจุฏุงุฎู„ ุงู„ู€ Namespace ุงู„ูˆุงุญุฏ. ูŠุนู†ูŠ ุงู„ุงุณู… ู…ุง ูŠู†ูุนุด ูŠุชูƒุฑุฑ ุฌูˆู‡ ู†ูุณ ุงู„ู†ุทุงู‚.

graph TD
    Solution[Solution / System]
    P1[Project 1]
    P2[Project 2]
    NS1[Namespace A]
    NS2[Namespace B]
    C1[Class User]
    C2[Class Order]
    C3[Class Product]
    
    Solution --> P1
    Solution --> P2
    P1 --> NS1
    P1 --> NS2
    NS1 --> C1
    NS1 --> C2
    NS2 --> C3
    
    style C1 fill:#f9f,stroke:#333,stroke-width:2px
    style C2 fill:#f9f,stroke:#333,stroke-width:2px
    style C3 fill:#f9f,stroke:#333,stroke-width:2px

Class Members

ุงู„ู„ูŠ ูŠู‡ู…ู†ุง ุฏู„ูˆู‚ุชูŠ ู‡ูˆ ุงู„ู€ Class ุงู„ูˆุงุญุฏ ูƒูˆุญุฏุฉ ู…ุณุชู‚ู„ุฉ (Single Unit). ุฅูŠู‡ ุงู„ู„ูŠ ู…ู…ูƒู† ุฃุญุทู‡ ุฌูˆุงู‡ุŸ ุงู„ู€ Class ู…ู…ูƒู† ูŠุญุชูˆูŠ ุนู„ู‰ ูˆุงุญุฏ ุฃูˆ ุฃูƒุชุฑ ู…ู† ุงู„ุฃุนุถุงุก (Members) ุงู„ุชุงู„ูŠุฉ (ุฃูˆ ู…ู…ูƒู† ูŠุญุชูˆูŠู‡ู… ูƒู„ู‡ู… ุญุณุจ ุงู„ุญุงุฌุฉ):

  1. Fields
  2. Constants
  3. Properties
  4. Methods
  5. Events
  6. Operators
  7. Indexers
  8. Constructors
  9. Finalizers
  10. Nested Types