using System;
using System.Diagnostics.CodeAnalysis;
using System.Security.Permissions;

namespace Sasa.QualityTools.DrFx.Tests.Violation.CSharp.Microsoft.Security
{
    // この構造体は CA2108:Type に違反しています。
    [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
    public struct Rule2108A
    {
    }

    [SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes")]
    public struct Rule2108B
    {
        private string value;

        public string Value
        {
            get
            {
                return this.value;
            }
        }

        // このコンストラクタは CA2108:Constructor に違反しています。
        [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
        public Rule2108B(string value)
        {
            this.value = value;
        }
    }
}
