CodeAccessPermission.Union メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As CodeAccessPermission Dim other As IPermission Dim returnValue As IPermission returnValue = instance.Union(other)
戻り値
現在のアクセス許可と指定したアクセス許可の和集合を表す新しいアクセス許可。


Union を呼び出すと、現在のアクセス許可と指定したアクセス許可の両方が表す操作をすべて表すアクセス許可が作成されます。元の 2 つのアクセス許可を求めていずれかが与えられた要求の場合は、両者の和集合を表すアクセス許可に対しても成功します。
継承時の注意 派生クラスでこのメソッドをオーバーライドする必要があります。other パラメータの値が null 参照 (Visual Basic では Nothing) である場合は、アクセス許可のコピーを返す必要があります。
Union メソッドをオーバーライドする方法を次のコード例に示します。このコード例は、CodeAccessPermission クラスのトピックで取り上げているコード例の一部分です。
Public Overrides Function Union(ByVal target As IPermission) As IPermission #If (Debug) Then Console.WriteLine("************* Entering Union *********************") #End If If target Is Nothing Then Return Me End If #If (Debug) Then Console.WriteLine(("This is = " + CType(Me, NameIdPermission).Name)) Console.WriteLine(("Target is " + CType(target, NameIdPermission).m_name)) #End If If Not VerifyType(target) Then Throw New ArgumentException(String.Format("Argument_WrongType", Me.GetType().FullName)) End If Dim operand As NameIdPermission = CType(target, NameIdPermission) If operand.IsSubsetOf(Me) Then Return Me.Copy() ElseIf Me.IsSubsetOf(operand) Then Return operand.Copy() Else Return Nothing End If End Function 'Union
public override IPermission Union(IPermission target) { #if(debug) Console.WriteLine ("************* Entering Union *********************"); #endif if (target == null) { return this; } #if(debug) Console.WriteLine ("This is = " + (( NameIdPermission)this).Name); Console.WriteLine ("Target is " + (( NameIdPermission)target).m_Name); #endif if (!VerifyType(target)) { throw new ArgumentException (String.Format ("Argument_WrongType", this.GetType ().FullName)); } NameIdPermission operand = ( NameIdPermission)target; if (operand.IsSubsetOf (this)) return this.Copy (); else if (this.IsSubsetOf (operand)) return operand.Copy (); else return null; }
public: virtual IPermission^ Union( IPermission^ target ) override { #if ( debug ) Console::WriteLine( "************* Entering Union *********************" ); #endif if ( target == nullptr ) { return this; } #if ( debug ) Console::WriteLine( "This is = {0}", ((NameIdPermission)this).Name ); Console::WriteLine( "Target is {0}", ((NameIdPermission)target).m_Name ); #endif if ( !VerifyType( target ) ) { throw gcnew ArgumentException( String::Format( "Argument_WrongType", this->GetType()->FullName ) ); } NameIdPermission^ operand = dynamic_cast<NameIdPermission^>(target); if ( operand->IsSubsetOf( this ) ) { return this->Copy(); } else if ( this->IsSubsetOf( operand ) ) { return operand->Copy(); } else { return nullptr; } }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からCodeAccessPermission.Union メソッドを検索する場合は、下記のリンクをクリックしてください。

- CodeAccessPermission.Union メソッドのページへのリンク