1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
//------------------------------------------------------------------------------
// <copyright file="DateTimeConfigurationElement.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
/*
* ImmutableCollections
*
* Copyright (c) 2004 Microsoft Corporation
*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Net;
using System.Configuration;
//
// This file contains configuration collections that are used by multiple sections
//
#if ORCAS
namespace System.Configuration {
class DateTimeConfigurationElement : ConfigurationElement {
private static ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propValue =
new ConfigurationProperty("value", typeof(DateTime), DateTime.MinValue, ConfigurationPropertyOptions.IsKey);
static DateTimeConfigurationElement() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propValue);
}
bool _needsInit;
DateTime _initValue;
protected internal override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
//
// Constructor
//
public DateTimeConfigurationElement() {
}
public DateTimeConfigurationElement(DateTime value) {
_needsInit = true;
_initValue = value;
}
protected internal override void Init() {
base.Init();
// We cannot initialize configuration properties in the constructor,
// because Properties is an overridable virtual property that
// hence may not be available in the constructor.
if (_needsInit) {
_needsInit = false;
Value = _initValue;
}
}
//
// Properties
//
//
// ConfigurationPropertyOptions.IsKey="true"
//
[ConfigurationProperty("value", IsKey = true)]
public DateTime Value {
get {
return (DateTime)base[_propValue];
}
set {
base[_propValue] = value;
}
}
}
}
#endif
|