@@ -53,6 +53,7 @@ protected static void AssertGetUserValueType(Type expectedType)
53
53
Debug . Assert ( new [ ] {
54
54
typeof ( bool ) ,
55
55
typeof ( int ) ,
56
+ typeof ( long ) ,
56
57
typeof ( DateTime ) ,
57
58
typeof ( TimeSpan ) ,
58
59
typeof ( string ) ,
@@ -88,6 +89,13 @@ protected static void AssertGetUserValueType(Type expectedType)
88
89
/// <param name="value">value of the setting</param>
89
90
public abstract void SetUserValue ( string name , int value ) ;
90
91
92
+ /// <summary>
93
+ /// Set a value of a user setting
94
+ /// </summary>
95
+ /// <param name="name">name of the setting</param>
96
+ /// <param name="value">value of the setting</param>
97
+ public abstract void SetUserValue ( string name , long value ) ;
98
+
91
99
/// <summary>
92
100
/// Set a value of a user setting
93
101
/// </summary>
@@ -231,6 +239,16 @@ public override void SetUserValue(string name, int value)
231
239
Key . SetValue ( name , value , RegistryValueKind . DWord ) ;
232
240
}
233
241
242
+ /// <summary>
243
+ /// Set a value of a user setting
244
+ /// </summary>
245
+ /// <param name="name">name of the setting</param>
246
+ /// <param name="value">value of the setting</param>
247
+ public override void SetUserValue ( string name , long value )
248
+ {
249
+ Key . SetValue ( name , value , RegistryValueKind . QWord ) ;
250
+ }
251
+
234
252
/// <summary>
235
253
/// Set a value of a user setting
236
254
/// </summary>
@@ -390,6 +408,9 @@ public override object GetUserValue(string name, Type expectedType)
390
408
case "int" :
391
409
userValue = int . Parse ( Uri . UnescapeDataString ( value [ 1 ] ) , CultureInfo . InvariantCulture ) ;
392
410
break ;
411
+ case "long" :
412
+ userValue = long . Parse ( Uri . UnescapeDataString ( value [ 1 ] ) , CultureInfo . InvariantCulture ) ;
413
+ break ;
393
414
case "DateTime" :
394
415
userValue = DateTime . FromBinary ( long . Parse ( Uri . UnescapeDataString ( value [ 1 ] ) , CultureInfo . InvariantCulture ) ) ;
395
416
break ;
@@ -440,6 +461,16 @@ public override void SetUserValue(string name, int value)
440
461
NativeMethods . WritePrivateProfileString ( Section , name , "int:" + Uri . EscapeDataString ( value . ToString ( CultureInfo . InvariantCulture ) ) , FilePath ) ;
441
462
}
442
463
464
+ /// <summary>
465
+ /// Set a value of a user setting
466
+ /// </summary>
467
+ /// <param name="name">name of the setting</param>
468
+ /// <param name="value">value of the setting</param>
469
+ public override void SetUserValue ( string name , long value )
470
+ {
471
+ NativeMethods . WritePrivateProfileString ( Section , name , "long:" + Uri . EscapeDataString ( value . ToString ( CultureInfo . InvariantCulture ) ) , FilePath ) ;
472
+ }
473
+
443
474
/// <summary>
444
475
/// Set a value of a user setting
445
476
/// </summary>
0 commit comments