anx.framework/ANX.Framework/Content/ContentSerializerAttribute.cs
SND\AstrorEnales_cp 5505f7dcbf - Added PlatformSystem Plugins layer
- Started Windows, Metro and Linux Platform-Plugins
- Moved the RecordingSample to the Samples folder
- Started two samples for using the graphics device in a WinForms and Wpf Editor
- Refactorings in the AddIn-System
- Moved the Window initialization-code to the Platform modules
- Changed the License text in all code files which is now way smaller
- Started ProjectConverter tool which converts all the projects and solution to the target configuration
- Changed the SupportedPlatform names in the Resource files
- Changed the WIN8 define to WINDOWSMETRO which is actually meant
- Removed NLog and started our own Logger class
- Many more stuff...
2012-08-09 09:45:04 +00:00

73 lines
2.0 KiB
C#

#region Using Statements
using System;
#endregion // Using Statements
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework.Content
{
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
public sealed class ContentSerializerAttribute : Attribute
{
public string ElementName { get; set; }
public bool FlattenContent { get; set; }
public bool Optional { get; set; }
private bool allowNull = true;
public bool AllowNull
{
get { return this.allowNull; }
set { this.allowNull = value; }
}
public bool SharedResource { get; set; }
private string collectionItemName;
public string CollectionItemName
{
get
{
if (string.IsNullOrEmpty(this.collectionItemName))
{
return "Item";
}
return this.collectionItemName;
}
set
{
if (string.IsNullOrEmpty(value))
{
throw new ArgumentNullException("value");
}
this.collectionItemName = value;
}
}
public bool HasCollectionItemName
{
get
{
return !string.IsNullOrEmpty(this.collectionItemName);
}
}
public ContentSerializerAttribute Clone()
{
return new ContentSerializerAttribute
{
ElementName = this.ElementName,
FlattenContent = this.FlattenContent,
Optional = this.Optional,
allowNull = this.allowNull,
SharedResource = this.SharedResource,
collectionItemName = this.collectionItemName
};
}
}
}