├── CSharp ├── CSharpStyleWarning-VS2019.vssettings └── LinkToDoc.txt └── LICENSE /CSharp/CSharpStyleWarning-VS2019.vssettings: -------------------------------------------------------------------------------- 1 | <CodeStyleOption SerializationVersion="1" Type="Boolean" Value="false" DiagnosticSeverity="Hidden" />0111<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="false" DiagnosticSeverity="Hidden" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="false" DiagnosticSeverity="Hidden" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Hidden" />1-11<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Hidden" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="false" DiagnosticSeverity="Hidden" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" />11<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" />10111<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" />0110111<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" />10000<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="false" DiagnosticSeverity="Hidden" />00100<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="false" DiagnosticSeverity="Hidden" /><NamingPreferencesInfo SerializationVersion="5"> 2 | <SymbolSpecifications> 3 | <SymbolSpecification ID="5c545a62-b14d-460a-88d8-e936c0a39316" Name="Class"> 4 | <ApplicableSymbolKindList> 5 | <TypeKind>Class</TypeKind> 6 | </ApplicableSymbolKindList> 7 | <ApplicableAccessibilityList> 8 | <AccessibilityKind>Public</AccessibilityKind> 9 | <AccessibilityKind>Internal</AccessibilityKind> 10 | <AccessibilityKind>Private</AccessibilityKind> 11 | <AccessibilityKind>Protected</AccessibilityKind> 12 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 13 | </ApplicableAccessibilityList> 14 | <RequiredModifierList /> 15 | </SymbolSpecification> 16 | <SymbolSpecification ID="23d856b4-5089-4405-83ce-749aada99153" Name="Interface"> 17 | <ApplicableSymbolKindList> 18 | <TypeKind>Interface</TypeKind> 19 | </ApplicableSymbolKindList> 20 | <ApplicableAccessibilityList> 21 | <AccessibilityKind>Public</AccessibilityKind> 22 | <AccessibilityKind>Internal</AccessibilityKind> 23 | <AccessibilityKind>Private</AccessibilityKind> 24 | <AccessibilityKind>Protected</AccessibilityKind> 25 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 26 | </ApplicableAccessibilityList> 27 | <RequiredModifierList /> 28 | </SymbolSpecification> 29 | <SymbolSpecification ID="d1796e78-ff66-463f-8576-eb46416060c0" Name="Struct"> 30 | <ApplicableSymbolKindList> 31 | <TypeKind>Struct</TypeKind> 32 | </ApplicableSymbolKindList> 33 | <ApplicableAccessibilityList> 34 | <AccessibilityKind>Public</AccessibilityKind> 35 | <AccessibilityKind>Internal</AccessibilityKind> 36 | <AccessibilityKind>Private</AccessibilityKind> 37 | <AccessibilityKind>Protected</AccessibilityKind> 38 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 39 | </ApplicableAccessibilityList> 40 | <RequiredModifierList /> 41 | </SymbolSpecification> 42 | <SymbolSpecification ID="d8af8dc6-1ade-441d-9947-8946922e198a" Name="Enum"> 43 | <ApplicableSymbolKindList> 44 | <TypeKind>Enum</TypeKind> 45 | </ApplicableSymbolKindList> 46 | <ApplicableAccessibilityList> 47 | <AccessibilityKind>Public</AccessibilityKind> 48 | <AccessibilityKind>Internal</AccessibilityKind> 49 | <AccessibilityKind>Private</AccessibilityKind> 50 | <AccessibilityKind>Protected</AccessibilityKind> 51 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 52 | </ApplicableAccessibilityList> 53 | <RequiredModifierList /> 54 | </SymbolSpecification> 55 | <SymbolSpecification ID="408a3347-b908-4b54-a954-1355e64c1de3" Name="Delegate"> 56 | <ApplicableSymbolKindList> 57 | <TypeKind>Delegate</TypeKind> 58 | </ApplicableSymbolKindList> 59 | <ApplicableAccessibilityList> 60 | <AccessibilityKind>Public</AccessibilityKind> 61 | <AccessibilityKind>Internal</AccessibilityKind> 62 | <AccessibilityKind>Private</AccessibilityKind> 63 | <AccessibilityKind>Protected</AccessibilityKind> 64 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 65 | </ApplicableAccessibilityList> 66 | <RequiredModifierList /> 67 | </SymbolSpecification> 68 | <SymbolSpecification ID="830657f6-e7e5-4830-b328-f109d3b6c165" Name="Event"> 69 | <ApplicableSymbolKindList> 70 | <SymbolKind>Event</SymbolKind> 71 | </ApplicableSymbolKindList> 72 | <ApplicableAccessibilityList> 73 | <AccessibilityKind>Public</AccessibilityKind> 74 | <AccessibilityKind>Internal</AccessibilityKind> 75 | <AccessibilityKind>Private</AccessibilityKind> 76 | <AccessibilityKind>Protected</AccessibilityKind> 77 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 78 | </ApplicableAccessibilityList> 79 | <RequiredModifierList /> 80 | </SymbolSpecification> 81 | <SymbolSpecification ID="390caed4-f0a9-42bb-adbb-b44c4a302a22" Name="Method"> 82 | <ApplicableSymbolKindList> 83 | <MethodKind>Ordinary</MethodKind> 84 | </ApplicableSymbolKindList> 85 | <ApplicableAccessibilityList> 86 | <AccessibilityKind>Public</AccessibilityKind> 87 | </ApplicableAccessibilityList> 88 | <RequiredModifierList /> 89 | </SymbolSpecification> 90 | <SymbolSpecification ID="af410767-f189-47c6-b140-aeccf1ff242e" Name="Private Method"> 91 | <ApplicableSymbolKindList> 92 | <MethodKind>Ordinary</MethodKind> 93 | </ApplicableSymbolKindList> 94 | <ApplicableAccessibilityList> 95 | <AccessibilityKind>Private</AccessibilityKind> 96 | </ApplicableAccessibilityList> 97 | <RequiredModifierList /> 98 | </SymbolSpecification> 99 | <SymbolSpecification ID="8076757e-6a4a-47f1-9b4b-ae8a3284e987" Name="Abstract Method"> 100 | <ApplicableSymbolKindList> 101 | <MethodKind>Ordinary</MethodKind> 102 | </ApplicableSymbolKindList> 103 | <ApplicableAccessibilityList> 104 | <AccessibilityKind>Public</AccessibilityKind> 105 | <AccessibilityKind>Internal</AccessibilityKind> 106 | <AccessibilityKind>Private</AccessibilityKind> 107 | <AccessibilityKind>Protected</AccessibilityKind> 108 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 109 | </ApplicableAccessibilityList> 110 | <RequiredModifierList> 111 | <ModifierKind>IsAbstract</ModifierKind> 112 | </RequiredModifierList> 113 | </SymbolSpecification> 114 | <SymbolSpecification ID="16133061-a8e7-4392-92c3-1d93cd54c218" Name="Static Method"> 115 | <ApplicableSymbolKindList> 116 | <MethodKind>Ordinary</MethodKind> 117 | </ApplicableSymbolKindList> 118 | <ApplicableAccessibilityList> 119 | <AccessibilityKind>Public</AccessibilityKind> 120 | <AccessibilityKind>Internal</AccessibilityKind> 121 | <AccessibilityKind>Private</AccessibilityKind> 122 | <AccessibilityKind>Protected</AccessibilityKind> 123 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 124 | </ApplicableAccessibilityList> 125 | <RequiredModifierList> 126 | <ModifierKind>IsStatic</ModifierKind> 127 | </RequiredModifierList> 128 | </SymbolSpecification> 129 | <SymbolSpecification ID="da6a2919-5aa6-4ad1-a24d-576776ed3974" Name="Property"> 130 | <ApplicableSymbolKindList> 131 | <SymbolKind>Property</SymbolKind> 132 | </ApplicableSymbolKindList> 133 | <ApplicableAccessibilityList> 134 | <AccessibilityKind>Public</AccessibilityKind> 135 | <AccessibilityKind>Internal</AccessibilityKind> 136 | <AccessibilityKind>Private</AccessibilityKind> 137 | <AccessibilityKind>Protected</AccessibilityKind> 138 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 139 | </ApplicableAccessibilityList> 140 | <RequiredModifierList /> 141 | </SymbolSpecification> 142 | <SymbolSpecification ID="b24a91ce-3501-4799-b6df-baf044156c83" Name="Public or Protected Field"> 143 | <ApplicableSymbolKindList> 144 | <SymbolKind>Field</SymbolKind> 145 | </ApplicableSymbolKindList> 146 | <ApplicableAccessibilityList> 147 | <AccessibilityKind>Public</AccessibilityKind> 148 | <AccessibilityKind>Protected</AccessibilityKind> 149 | </ApplicableAccessibilityList> 150 | <RequiredModifierList /> 151 | </SymbolSpecification> 152 | <SymbolSpecification ID="70af42cb-1741-4027-969c-9edc4877d965" Name="Static Field"> 153 | <ApplicableSymbolKindList> 154 | <SymbolKind>Field</SymbolKind> 155 | </ApplicableSymbolKindList> 156 | <ApplicableAccessibilityList> 157 | <AccessibilityKind>Public</AccessibilityKind> 158 | <AccessibilityKind>Internal</AccessibilityKind> 159 | <AccessibilityKind>Private</AccessibilityKind> 160 | <AccessibilityKind>Protected</AccessibilityKind> 161 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 162 | </ApplicableAccessibilityList> 163 | <RequiredModifierList> 164 | <ModifierKind>IsStatic</ModifierKind> 165 | </RequiredModifierList> 166 | </SymbolSpecification> 167 | <SymbolSpecification ID="10790aa6-0a0b-432d-a52d-d252ca92302b" Name="Private or Internal Field"> 168 | <ApplicableSymbolKindList> 169 | <SymbolKind>Field</SymbolKind> 170 | </ApplicableSymbolKindList> 171 | <ApplicableAccessibilityList> 172 | <AccessibilityKind>Internal</AccessibilityKind> 173 | <AccessibilityKind>Private</AccessibilityKind> 174 | </ApplicableAccessibilityList> 175 | <RequiredModifierList /> 176 | </SymbolSpecification> 177 | <SymbolSpecification ID="ac995be4-88de-4771-9dcc-a456a7c02d89" Name="Private or Internal Static Field"> 178 | <ApplicableSymbolKindList> 179 | <SymbolKind>Field</SymbolKind> 180 | </ApplicableSymbolKindList> 181 | <ApplicableAccessibilityList> 182 | <AccessibilityKind>Internal</AccessibilityKind> 183 | <AccessibilityKind>Private</AccessibilityKind> 184 | </ApplicableAccessibilityList> 185 | <RequiredModifierList> 186 | <ModifierKind>IsStatic</ModifierKind> 187 | </RequiredModifierList> 188 | </SymbolSpecification> 189 | <SymbolSpecification ID="2c07f5bf-bc81-4c2b-82b4-ae9b3ffd0ba4" Name="Types"> 190 | <ApplicableSymbolKindList> 191 | <TypeKind>Class</TypeKind> 192 | <TypeKind>Struct</TypeKind> 193 | <TypeKind>Interface</TypeKind> 194 | <TypeKind>Enum</TypeKind> 195 | </ApplicableSymbolKindList> 196 | <ApplicableAccessibilityList> 197 | <AccessibilityKind>Public</AccessibilityKind> 198 | <AccessibilityKind>Internal</AccessibilityKind> 199 | <AccessibilityKind>Private</AccessibilityKind> 200 | <AccessibilityKind>Protected</AccessibilityKind> 201 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 202 | </ApplicableAccessibilityList> 203 | <RequiredModifierList /> 204 | </SymbolSpecification> 205 | <SymbolSpecification ID="5f3ddba1-279f-486c-801e-5c097c36dd85" Name="Non-Field Members"> 206 | <ApplicableSymbolKindList> 207 | <SymbolKind>Property</SymbolKind> 208 | <SymbolKind>Event</SymbolKind> 209 | <MethodKind>Ordinary</MethodKind> 210 | </ApplicableSymbolKindList> 211 | <ApplicableAccessibilityList> 212 | <AccessibilityKind>Public</AccessibilityKind> 213 | <AccessibilityKind>Internal</AccessibilityKind> 214 | <AccessibilityKind>Private</AccessibilityKind> 215 | <AccessibilityKind>Protected</AccessibilityKind> 216 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 217 | </ApplicableAccessibilityList> 218 | <RequiredModifierList /> 219 | </SymbolSpecification> 220 | <SymbolSpecification ID="d0c52f68-cc5b-497c-af44-a8c8025c1e84" Name="Non-public Const Field"> 221 | <ApplicableSymbolKindList> 222 | <SymbolKind>Field</SymbolKind> 223 | </ApplicableSymbolKindList> 224 | <ApplicableAccessibilityList> 225 | <AccessibilityKind>Internal</AccessibilityKind> 226 | <AccessibilityKind>Private</AccessibilityKind> 227 | <AccessibilityKind>Protected</AccessibilityKind> 228 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 229 | </ApplicableAccessibilityList> 230 | <RequiredModifierList> 231 | <ModifierKind>IsConst</ModifierKind> 232 | </RequiredModifierList> 233 | </SymbolSpecification> 234 | <SymbolSpecification ID="c17360be-5dff-4739-b501-fd2f806a4200" Name="Async Method"> 235 | <ApplicableSymbolKindList> 236 | <MethodKind>Ordinary</MethodKind> 237 | </ApplicableSymbolKindList> 238 | <ApplicableAccessibilityList> 239 | <AccessibilityKind>Public</AccessibilityKind> 240 | <AccessibilityKind>Internal</AccessibilityKind> 241 | <AccessibilityKind>Private</AccessibilityKind> 242 | <AccessibilityKind>Protected</AccessibilityKind> 243 | <AccessibilityKind>ProtectedOrInternal</AccessibilityKind> 244 | </ApplicableAccessibilityList> 245 | <RequiredModifierList> 246 | <ModifierKind>IsAsync</ModifierKind> 247 | </RequiredModifierList> 248 | </SymbolSpecification> 249 | </SymbolSpecifications> 250 | <NamingStyles> 251 | <NamingStyle ID="87e7c501-9948-4b53-b1eb-a6cbe918feee" Name="Pascal Case" Prefix="" Suffix="" WordSeparator="" CapitalizationScheme="PascalCase" /> 252 | <NamingStyle ID="1ecc5eb6-b5fc-49a5-a9f1-a980f3e48c92" Name="Begins with I" Prefix="I" Suffix="" WordSeparator="" CapitalizationScheme="PascalCase" /> 253 | <NamingStyle ID="0b901555-8f2c-4450-bcc9-84e93430923c" Name="Camel Case" Prefix="" Suffix="" WordSeparator="" CapitalizationScheme="CamelCase" /> 254 | <NamingStyle ID="0899d108-016f-4f53-b309-b6cffac65619" Name="Begin with E" Prefix="E" Suffix="" WordSeparator="" CapitalizationScheme="PascalCase" /> 255 | <NamingStyle ID="14073d36-c86d-4dee-bd9f-415344ea2fcf" Name="ALL_UPPER" Prefix="" Suffix="" WordSeparator="_" CapitalizationScheme="AllUpper" /> 256 | <NamingStyle ID="81c3e941-1f47-44d5-b22e-701fb57cf410" Name="Ends with Async" Prefix="" Suffix="Async" WordSeparator="" CapitalizationScheme="PascalCase" /> 257 | </NamingStyles> 258 | <NamingRules> 259 | <SerializableNamingRule SymbolSpecificationID="af410767-f189-47c6-b140-aeccf1ff242e" NamingStyleID="0b901555-8f2c-4450-bcc9-84e93430923c" EnforcementLevel="Warning" /> 260 | <SerializableNamingRule SymbolSpecificationID="d0c52f68-cc5b-497c-af44-a8c8025c1e84" NamingStyleID="14073d36-c86d-4dee-bd9f-415344ea2fcf" EnforcementLevel="Warning" /> 261 | <SerializableNamingRule SymbolSpecificationID="23d856b4-5089-4405-83ce-749aada99153" NamingStyleID="1ecc5eb6-b5fc-49a5-a9f1-a980f3e48c92" EnforcementLevel="Warning" /> 262 | <SerializableNamingRule SymbolSpecificationID="2c07f5bf-bc81-4c2b-82b4-ae9b3ffd0ba4" NamingStyleID="87e7c501-9948-4b53-b1eb-a6cbe918feee" EnforcementLevel="Warning" /> 263 | <SerializableNamingRule SymbolSpecificationID="5f3ddba1-279f-486c-801e-5c097c36dd85" NamingStyleID="87e7c501-9948-4b53-b1eb-a6cbe918feee" EnforcementLevel="Warning" /> 264 | <SerializableNamingRule SymbolSpecificationID="d8af8dc6-1ade-441d-9947-8946922e198a" NamingStyleID="0899d108-016f-4f53-b309-b6cffac65619" EnforcementLevel="Warning" /> 265 | </NamingRules> 266 | </NamingPreferencesInfo>1001111100<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Hidden" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Hidden" />012<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" />11<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Hidden" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" />00000110<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" />10011<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Hidden" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" />121<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="false" DiagnosticSeverity="Hidden" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="true" DiagnosticSeverity="Info" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="false" DiagnosticSeverity="Hidden" />011<CodeStyleOption SerializationVersion="1" Type="Boolean" Value="false" DiagnosticSeverity="Hidden" /><CodeStyleOption SerializationVersion="1" Type="Boolean" Value="false" DiagnosticSeverity="Hidden" />01101100010111 -------------------------------------------------------------------------------- /CSharp/LinkToDoc.txt: -------------------------------------------------------------------------------- 1 | https://docs.google.com/document/d/1ymFFTVpR4lFEkUgYNJPRJda_eLKXMB6Ok4gpNWOo4rc 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Pope Kim 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | --------------------------------------------------------------------------------