1+ using StreamChat . Core . Models ;
2+
3+ namespace StreamChat . Samples
4+ {
5+ internal class CodeMigrationTo5x
6+ {
7+ internal void VariableDeclarationAndAssignment ( )
8+ {
9+ // Old (enum)
10+ //StreamMessageType messageType = StreamMessageType.Regular;
11+
12+ // New (struct)
13+ StreamMessageType messageType = StreamMessageType . Regular ;
14+ }
15+
16+ internal void MethodParametersAndAssignment ( )
17+ {
18+ // Old (enum)
19+ // public void ProcessMessage(StreamMessageType type)
20+ // {
21+ //
22+ // }
23+
24+ // New (struct)
25+ // public void ProcessMessage(StreamMessageType type)
26+ // {
27+ //
28+ // }
29+ }
30+
31+ // New (struct)
32+ public void ProcessMessage ( StreamMessageType type )
33+ {
34+
35+ }
36+
37+ internal void Equality ( )
38+ {
39+ StreamMessageType messageType = StreamMessageType . Regular ;
40+
41+ // Old (enum)
42+ if ( messageType == StreamMessageType . Regular )
43+ {
44+ // Handle regular message
45+ }
46+
47+ // New (struct)
48+ if ( messageType == StreamMessageType . Regular )
49+ {
50+ // Handle system message
51+ }
52+ }
53+
54+ internal void SwitchStatements ( )
55+ {
56+ // Old (enum)
57+ // switch (messageType)
58+ // {
59+ // case StreamMessageType.Regular:
60+ // // Handle regular message
61+ // break;
62+ // case StreamMessageType.System:
63+ // // Handle system message
64+ // break;
65+ // // ...
66+ // }
67+
68+ StreamMessageType messageType = StreamMessageType . Regular ;
69+
70+ // New (struct) - Using if-else statements
71+ if ( messageType == StreamMessageType . Regular )
72+ {
73+ // Handle regular message
74+ }
75+ else if ( messageType == StreamMessageType . System )
76+ {
77+ // Handle system message
78+ }
79+
80+ switch ( messageType )
81+ {
82+ case var type when type == StreamMessageType . Regular :
83+ // Handle regular message
84+ break ;
85+ case var type when type == StreamMessageType . System :
86+ // Handle system message
87+ break ;
88+ // ...
89+ }
90+ }
91+
92+ internal void ExplicitInitialization ( )
93+ {
94+ StreamMessageType messageType = StreamMessageType . Regular ;
95+ }
96+
97+ // Const-assignment alternative
98+ public static readonly StreamMessageType DefaultMessageType = StreamMessageType . Regular ;
99+ }
100+ }
0 commit comments