<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=C_Sharp%2F%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88</id>
	<title>C Sharp/イベント - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=C_Sharp%2F%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88"/>
	<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=C_Sharp/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88&amp;action=history"/>
	<updated>2026-07-18T21:58:58Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://monobook.org/w/index.php?title=C_Sharp/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88&amp;diff=1770&amp;oldid=prev</id>
		<title>2012年5月2日 (水) 04:50に58.98.183.133による</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=C_Sharp/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88&amp;diff=1770&amp;oldid=prev"/>
		<updated>2012-05-02T04:50:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2012年5月2日 (水) 04:50時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C Sharp|C#]]における&amp;#039;&amp;#039;&amp;#039;イベント&amp;#039;&amp;#039;&amp;#039;（event）とは、[[デリゲート]]（≒[[関数ポインタ]]）に対し、外部から追加（+=演算子）と削除（-=演算子）のみを行えるように[[隠蔽]]し、かつ宣言した[[クラス]]からしか呼べない（実行できない）ようにする機能のことである。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C Sharp|C#]]における&amp;#039;&amp;#039;&amp;#039;イベント&amp;#039;&amp;#039;&amp;#039;（event）とは、[[デリゲート]]（≒[[関数ポインタ]]）に対し、外部から追加（+=演算子）と削除（-=演算子）のみを行えるように[[隠蔽]]し、かつ宣言した[[クラス]]からしか呼べない（実行できない）ようにする機能のことである。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;イベントは、素の&lt;/del&gt;[[デリゲート]]が[[オブジェクト指向]]の本質の一つである[[隠蔽]]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;の原則に反するために用意されているものであり、イベントを使える場合には積極的にイベントを使ってデリゲートを隠蔽しましょうと言われている。&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[C Sharp|C#]]のイベント構文は、素の&lt;/ins&gt;[[デリゲート]]が[[オブジェクト指向]]の本質の一つである[[隠蔽]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;の原則に反する、という問題に対処するために用意されているものであり、イベントを使える場合には積極的にイベントを使ってデリゲートを隠蔽しましょうと言われている。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 使用例 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 使用例 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>58.98.183.133</name></author>
	</entry>
	<entry>
		<id>https://monobook.org/w/index.php?title=C_Sharp/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88&amp;diff=1769&amp;oldid=prev</id>
		<title>imported&gt;Administrator: /* 関連項目 */</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=C_Sharp/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88&amp;diff=1769&amp;oldid=prev"/>
		<updated>2012-04-26T04:47:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;関連項目&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2012年4月26日 (木) 04:47時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l74&quot;&gt;74行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;74行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[デリゲート]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[デリゲート]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[関数ポインタ]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[関数ポインタ]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[C Sharp|C#]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[イベント]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 参考文献 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 参考文献 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Administrator</name></author>
	</entry>
	<entry>
		<id>https://monobook.org/w/index.php?title=C_Sharp/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88&amp;diff=1768&amp;oldid=prev</id>
		<title>imported&gt;Administrator: ページの作成：「C#における&#039;&#039;&#039;イベント&#039;&#039;&#039;（event）とは、デリゲート（≒関数ポインタ）に対し、外部から追加（+=演算子）と削...」</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=C_Sharp/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88&amp;diff=1768&amp;oldid=prev"/>
		<updated>2012-04-26T04:47:01Z</updated>

		<summary type="html">&lt;p&gt;ページの作成：「&lt;a href=&quot;/wiki/C_Sharp&quot; title=&quot;C Sharp&quot;&gt;C#&lt;/a&gt;における&amp;#039;&amp;#039;&amp;#039;イベント&amp;#039;&amp;#039;&amp;#039;（event）とは、&lt;a href=&quot;/wiki/%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88&quot; title=&quot;デリゲート&quot;&gt;デリゲート&lt;/a&gt;（≒&lt;a href=&quot;/wiki/%E9%96%A2%E6%95%B0%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF&quot; title=&quot;関数ポインタ&quot;&gt;関数ポインタ&lt;/a&gt;）に対し、外部から追加（+=演算子）と削...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[C Sharp|C#]]における&amp;#039;&amp;#039;&amp;#039;イベント&amp;#039;&amp;#039;&amp;#039;（event）とは、[[デリゲート]]（≒[[関数ポインタ]]）に対し、外部から追加（+=演算子）と削除（-=演算子）のみを行えるように[[隠蔽]]し、かつ宣言した[[クラス]]からしか呼べない（実行できない）ようにする機能のことである。&lt;br /&gt;
&lt;br /&gt;
イベントは、素の[[デリゲート]]が[[オブジェクト指向]]の本質の一つである[[隠蔽]]の原則に反するために用意されているものであり、イベントを使える場合には積極的にイベントを使ってデリゲートを隠蔽しましょうと言われている。&lt;br /&gt;
&lt;br /&gt;
== 使用例 ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
    using System;&lt;br /&gt;
&lt;br /&gt;
    // デリゲート型の定義&lt;br /&gt;
    public delegate void SomeDelegate(string name);&lt;br /&gt;
&lt;br /&gt;
    class AppMain&lt;br /&gt;
    {&lt;br /&gt;
        // イベント変数の宣言&lt;br /&gt;
        // 書式は、呼び出し制限したいデリゲート名 公開するイベント名&lt;br /&gt;
        public event SomeDelegate SomeEvent;&lt;br /&gt;
&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            new AppMain().Run();&lt;br /&gt;
            Console.ReadLine();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        void Run()&lt;br /&gt;
        {&lt;br /&gt;
            // ここでは内部からだが、外部からも追加削除はできる。&lt;br /&gt;
            SomeEvent += new SomeDelegate(Func1);&lt;br /&gt;
            // 外部からは呼び出せない。&lt;br /&gt;
            SomeEvent(&amp;quot;いべんと&amp;quot;); &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        void Func1(string name)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;こんにちは, &amp;quot; + name);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
イベントを使わずにデリゲートだけを用いて書くと以下のようになる。&lt;br /&gt;
得られる結果は同じだが、AppMainクラスではない別のクラスからもデリゲートを実行できてしまう。&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
    using System;&lt;br /&gt;
&lt;br /&gt;
    // デリゲート型の定義&lt;br /&gt;
    public delegate void SomeDelegate(string name);&lt;br /&gt;
&lt;br /&gt;
    class AppMain&lt;br /&gt;
    {&lt;br /&gt;
        // デリゲート変数の宣言&lt;br /&gt;
        // 書式は、呼び出し制限したいデリゲート名 公開するイベント名&lt;br /&gt;
        public SomeDelegate DelegateInstance;&lt;br /&gt;
&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            new AppMain().Run();&lt;br /&gt;
            Console.ReadLine();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        void Run()&lt;br /&gt;
        {&lt;br /&gt;
            this.DelegateInstance += new SomeDelegate(Func1);&lt;br /&gt;
            // ここでは内部から呼んでいるが、外部からも呼び出せてしまう。&lt;br /&gt;
            this.DelegateInstance(&amp;quot;でりげーと&amp;quot;); &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        void Func1(string name)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;こんにちは, &amp;quot; + name);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 関連項目 ==&lt;br /&gt;
* [[デリゲート]]&lt;br /&gt;
* [[関数ポインタ]]&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 外部リンク ==&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;Administrator</name></author>
	</entry>
</feed>