Views
1 year ago

. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание

представление страницы событий Обобщенный EventHandler Посмотрим на объявление события в классе Ball: p u b l i c e v e n t E v e n tH a n d le r B a l l l n P l a y ; A т е п е р ь р а с с м о т р и м о б ъ я в л е н и е с о б ы т и я C l i c k д л я к н о п к и ф о р м ы : p u b l i c e v e n t E v e n tH a n d le r Click; Они называются по-разному, но объявляются одним и тем же способом. А так как все это прекрасно работает, постронние могут и не знать, что обработчик BallEventHandler передает BallEventArgs при возникновении события. К счастью, .NET имеется инструмент, позволяющий легко сообщить эту информацию, — обобщенный EventHandler. Измените обработчик события BalllnPlay вот таким образом: Обобщенный аргумент EventHandler должен быть производным от EventArgs. public event EventHandler B^lInPlay; Вам понадобиться отредактировать и метод OnBalllnPlay, заменив EventHandler на Event- Handler. Но при попытке построить код в окне Error List появится сообщение о двух ошибках: Error List П X " O 2 Errors i A 0 Warnings 1 0 Messages Description File Line Column ■ Q 1 O 2 Cannot implicit^ convert type ‘System.EventHandler' to ' System.EventHandlef < Baseball. Bat[Ever^tArgs>' Cannot implicitly convert type 'System.EventHandler' to 'System.EventHandler< Baseball,BsllEventArgs>' Pitcher.cs 12 32 1 Fan.cs 12 32 I Дело в том, что после изменений в объявлении события нужно обновить классы Pitcher и Fan, заставив их передавать обработчику обобщенный аргумент: b a l l .B a l l l n P l a y += n e w E v e n tH a n d le r < B a llE v e n tA r g s > ( b a l l _ B a l l I n P l a y ) ; НеяВное преобразование Автоматически созданный обработчик событий будет обязательно содержать ключевое слово new, за которым следует его тип. Если же убрать это ключевое слово и тип обработчика, C# осуществит н е я в ­ н о е п р е о б р а з о в а н и е и определит тип за вас: b a l l . B a l l l n P l a y += b a l 1 _ В а 1 1 I n P l a y ; Замените код в конструкторах классов Pitcher и Fan указанным выше способом. Вы увидите, что на работе программы это не отразится. 506 глава 11

события и делегаты Все формы используют события Создавая кнопку, дважды щелкая на ней в конструкторе формы и прописывая код для метода b u tto n l_ C lic k ; (), вы работаете с событиями. Q У г 1 |^ а ж н е н и е Создайте проект Windows Application. Щелкните на кнопке Events (она помечена значком молнии) в окне Properties формы. Откроется список событий: а ^ просмотра событий, язаннш с элементом управления, выделите эт от элемент и щелкните на кнопке со значком молнии. Чтобы создать событие, возникающее при щелчке на фор ме, нужно выбрать в раскрывающемся списке в строчке Click вариант Forml^Click. Properties F o n n l '''5 y ^ m . W i n d o w s . F o r m s . F o r m C h a n q eU ICues ClientSizeChanged С ontextMenuStripC _________ FormI.Ctick Ctick Occurs when the component is dkkerf. П X І Найдите строчку Click и дважды щелкните на ней. ^удет добавлен новый обработчик события, который активизируется при любом щелчке на форме. В файле formX.Designer.cs появится новая строка, связывающая обработчик и событие. О После двойного щелчка на строчке Click к форме будет автоматически добавлен обработчик события Forml_Click. Введите для него код: p r i v a t e v o i d F o r m l _ C l i c k ( o b j e c t sender, E v e n t A r g s e) { } M essa g eB o x .S h o w (" Y o u j u s t c l i c k e d on t h e fo r m " ); © Visual Studio не только пишет за вас объявление метода, но и связывает обработчик с событием Click формы. Откройте файл Forml .Designer .cs и воспользуйтесь функцией Quick Find (Edit » Find and Replace » Quick Find) для поиска текста Forml_Click. Вы найдете строчку: t h i s . C l i c k += n e w S y s t e m . E v e n t H a n d l e r ( t h i s . F o r m l _ C l i c k ) ; Запустите программу и убедитесь, что код работает! страниїзу u продолжим дальше > 507

  • Page 1 and 2:

    Изучаем Управляй д

  • Page 3 and 4:

    ББК 32.973.2-018.1 УДК 004.43

  • Page 5 and 6:

    оглавление Оо д е р

  • Page 7 and 8:

    оглавление э щ о Бс

  • Page 9 and 10:

    оглавление гоипь! и

  • Page 11 and 12:

    оглавление н а с л е

  • Page 13 and 14:

    оглавление п е р е ч

  • Page 15 and 16:

    оглавление обр>або

  • Page 17 and 18:

    оглавление и т1реДБ

  • Page 19 and 20:

    оглавление Метод з

  • Page 21 and 22:

    к а к р а б о з з а а ш

  • Page 23 and 24:

    введение Mbl знаем, о

  • Page 25 and 26:

    введение Метапозна

  • Page 27 and 28:

    Что мо)кете сделать

  • Page 29 and 30:

    введение информаци

  • Page 31 and 32:

    введение Благодарн

  • Page 33 and 34:

    с c# это легко Зачем

  • Page 35 and 36:

    помогите начальник

  • Page 37 and 38:

    ваша цель Ч т о мы с

  • Page 39 and 40:

    приступим Э то Вы д

  • Page 41 and 42:

    изучи ИСР Возьми в

  • Page 43 and 44:

    лучше один раз увид

  • Page 45 and 46:

    экономим ресурсы Vis

  • Page 47 and 48:

    запуск приложения (

  • Page 49 and 50:

    сохраните, чтобы по

  • Page 51 and 52:

    хранить данные лег

  • Page 53 and 54:

    оформим в таблицу П

  • Page 55 and 56:

    это именно мой тип

  • Page 57 and 58:

    добавляем данные П

  • Page 59 and 60:

    все данные в одном

  • Page 61 and 62:

    соединим все вмест

  • Page 63 and 64:

    сделаем красиво Хо

  • Page 65 and 66:

    напоследок Тестиро

  • Page 67 and 68:

    поделитесь любовью

  • Page 69 and 70:

    быстрее не бывает У

  • Page 71 and 72:

    к вашим услугам Ког

  • Page 73 and 74:

    средства коммуника

  • Page 75 and 76:

    ваш маленький помо

  • Page 77 and 78:

    подробности Любые

  • Page 79 and 80:

    программа делает з

  • Page 81 and 82:

    еще более подробно

  • Page 83 and 84:

    элегантные решения

  • Page 85 and 86:

    время получить отв

  • Page 87 and 88:

    решение упражнения

  • Page 89 and 90:

    параметры могут ва

  • Page 91 and 92:

    операторы наготове

  • Page 93 and 94:

    прекратим ошибки! О

  • Page 95 and 96:

    приготовились, нас

  • Page 97 and 98:

    то, что вы можете сд

  • Page 99 and 100:

    выше и выше и выше и

  • Page 101 and 102:

    если только, но тол

  • Page 103 and 104:

    ваш код... теперь в в

  • Page 105 and 106:

    симпатично! п'ражне

  • Page 107 and 108:

    решение упражнения

  • Page 109 and 110:

    это не такой просто

  • Page 111 and 112:

    решение ребуса е Ш

  • Page 113 and 114:

    майк ищет работу Ч

  • Page 115 and 116:

    создаем методы и ре

  • Page 117 and 118:

    знакомство с объек

  • Page 119 and 120:

    про экземпляры Объ

  • Page 121 and 122:

    объекты совершенст

  • Page 123 and 124:

    немножко маленьких

  • Page 125 and 126:

    слово static |Л о зьм и

  • Page 127 and 128:

    как дела у объектов

  • Page 129 and 130:

    складываем объекты

  • Page 131 and 132:

    зачем нужны методы

  • Page 133 and 134:

    классы как они есть

  • Page 135 and 136:

    несколько советов

  • Page 137 and 138:

    создадим класс Воз

  • Page 139 and 140:

    работающий класс guy

  • Page 141 and 142:

    джо говорит: «где м

  • Page 143 and 144:

    объекты, по порядку

  • Page 145 and 146:

    объекты, по порядку

  • Page 147 and 148:

    объекты, по порядку

  • Page 149 and 150:

    не мои тип Tun переме

  • Page 151 and 152:

    взять деньги на мор

  • Page 153 and 154:

    приведения Приведе

  • Page 155 and 156:

    настоящее преобраз

  • Page 157 and 158:

    таблица зарезервир

  • Page 159 and 160:

    что-то пошло не так.

  • Page 161 and 162:

    операторы наготове

  • Page 163 and 164:

    получи ссылку Пере

  • Page 165 and 166:

    вот водитель мусор

  • Page 167 and 168:

    так много меток їоз

  • Page 169 and 170:

    Возьми 8 руку каран

  • Page 171 and 172:

    держи ссылку Дбе сс

  • Page 173 and 174:

    выбираем объект из

  • Page 175 and 176:

    джо говорит: «не ст

  • Page 177 and 178:

    болтливые объекты

  • Page 179 and 180:

    возьми в руку каран

  • Page 181 and 182:

    магниты с кодом и р

  • Page 183 and 184:

    создадим что-нибуд

  • Page 185 and 186:

    ключ к прекрасной и

  • Page 187 and 188:

    решение упражнения

  • Page 189 and 190:

    решение ребуса е Ш

  • Page 191 and 192:

    помогите кэтлин Кэ

  • Page 193 and 194:

    ok, нет проблем нени

  • Page 195 and 196:

    решение упражнения

  • Page 197 and 198:

    что-то пошло не так

  • Page 199 and 200:

    неожиданно оказало

  • Page 201 and 202:

    защити свои объект

  • Page 203 and 204:

    шпионское противос

  • Page 205 and 206:

    сохранить секрет З

  • Page 207 and 208:

    простор для вообра

  • Page 209 and 210:

    путаница у майка Пр

  • Page 211 and 212:

    как лучше провести

  • Page 213 and 214:

    читаем, записываем,

  • Page 215 and 216:

    частная собственно

  • Page 217 and 218:

    настройки Редактир

  • Page 219 and 220:

    разбираем конструк

  • Page 221 and 222:

    что в имени? r|Jo3bM H В

  • Page 223 and 224:

    инкапсуляция предо

  • Page 225 and 226:

    решение упражнения

  • Page 227 and 228:

    с днем рождения, кр

  • Page 229 and 230:

    другой тип вечерин

  • Page 231 and 232:

    кэтлин это понрави

  • Page 233 and 234:

    закончим создание

  • Page 235 and 236:

    работает! О ТТрогро

  • Page 237 and 238:

    не тратьте золото,

  • Page 239 and 240:

    прогуляємся в джун

  • Page 241 and 242:

    программистов не к

  • Page 243 and 244:

    расширяем объекты

  • Page 245 and 246:

    как низко вы можете

  • Page 247 and 248:

    я знаю, как застави

  • Page 249 and 250:

    перекрытие вручную

  • Page 251 and 252:

    немного практики с

  • Page 253 and 254:

    немного практики А

  • Page 255 and 256:

    они вам и в самом де

  • Page 257 and 258:

    скры т ь и обнаружи

  • Page 259 and 260:

    так вот зачем нуж н

  • Page 261 and 262:

    обходнойпуть Ключе

  • Page 263 and 264:

    кэтлин все еще нужн

  • Page 265 and 266:

    решение упражнения

  • Page 267 and 268:

    отличная работа! —

  • Page 269 and 270:

    помоги пчелиной ма

  • Page 271 and 272:

    решение упражнения

  • Page 273 and 274:

    все мы только пчелы

  • Page 275 and 276:

    решение упражнения

  • Page 277 and 278:

    все мы только пчелы

  • Page 279 and 280:

    рабочие пчелы, объе

  • Page 281 and 282:

    интерфейсы для раб

  • Page 283 and 284:

    .ласс немного от сб

  • Page 285 and 286:

    поваляем дурака Уч

  • Page 287 and 288:

    интерфейсы не созд

  • Page 289 and 290:

    мы ожидаем большое

  • Page 291 and 292:

    скрестить бульдога

  • Page 293 and 294:

    не верь глазам свои

  • Page 295 and 296:

    вверх легко, а вот в

  • Page 297 and 298:

    неглупые вопросы _

  • Page 299 and 300:

    уберите страшных к

  • Page 301 and 302:

    про видимость изме

  • Page 303 and 304:

    ox уж этот дублирующ

  • Page 305 and 306:

    не могу поверить, ч

  • Page 307 and 308:

    абстрактные классы

  • Page 309 and 310:

    стоит тысячи слов В

  • Page 311 and 312:

    словесная битва Бе

  • Page 313 and 314:

    проблемы множестве

  • Page 315 and 316:

    в форме... ведра с ор

  • Page 317 and 318:

    приступим о Длинны

  • Page 319 and 320:

    понаблюдаем за пов

  • Page 321 and 322:

    решение упражнения

  • Page 323 and 324:

    решение упражнения

  • Page 325 and 326:

    создай себе соперн

  • Page 327 and 328:

    решение упражнения

  • Page 329 and 330:

    решение упражнения

  • Page 331 and 332:

    решение упражнения

  • Page 333 and 334:

    8 перечисление и Ко

  • Page 335 and 336:

    перечисления и кол

  • Page 337 and 338:

    перечисления и кол

  • Page 339 and 340:

    перечисления и кол

  • Page 341 and 342:

    перечисления и кол

  • Page 343 and 344:

    перечисления и кол

  • Page 345 and 346:

    перечисления и кол

  • Page 347 and 348:

    перечисления и кол

  • Page 349 and 350:

    Разве перечисления

  • Page 351 and 352:

    Коллекция уток Ф У

  • Page 353 and 354:

    * перечисления и ко

  • Page 355 and 356:

    перечисления и кол

  • Page 357 and 358:

    перечисления и кол

  • Page 359 and 360:

    перечисления и кол

  • Page 361 and 362:

    перечисления и кол

  • Page 363 and 364:

    перечисления и кол

  • Page 365 and 366:

    перечисления и кол

  • Page 367 and 368:

    перечисления и кол

  • Page 369 and 370:

    перечисления и кол

  • Page 371 and 372:

    перечисления и кол

  • Page 373 and 374:

    перечисления и кол

  • Page 375 and 376:

    перечисления и кол

  • Page 377 and 378:

    перечисления и кол

  • Page 379 and 380:

    перечисления и кол

  • Page 381 and 382:

    перечисления и кол

  • Page 383 and 384:

    перечисления и кол

  • Page 385 and 386:

    перечисления и кол

  • Page 387 and 388:

    перечисления и кол

  • Page 389 and 390:

    перечисления и кол

  • Page 391 and 392:

    острова в потоке Дл

  • Page 393 and 394:

    намного проще Объе

  • Page 395 and 396:

    запишите это Дьяво

  • Page 397 and 398:

    прочитайте это еШе

  • Page 399 and 400:

    не пересекайте пот

  • Page 401 and 402:

    серьезный диалог ^ 0

  • Page 403 and 404:

    окна диалога — это

  • Page 405 and 406:

    справочная система

  • Page 407 and 408:

    напишите это сам ос

  • Page 409 and 410:

    бросайте мусор в ну

  • Page 411 and 412:

    мне снова нужно к в

  • Page 413 and 414:

    уваж ительные прич

  • Page 415 and 416:

    решение упражнения

  • Page 417 and 418:

    блок вы бора Запись

  • Page 419 and 420:

    застигнутый враспл

  • Page 421 and 422:

    p.s. я нашел свою ляг

  • Page 423 and 424:

    сохраняйте основно

  • Page 425 and 426:

    сериализован для в

  • Page 427 and 428:

    сериализация колод

  • Page 429 and 430:

    внешний вид символ

  • Page 431 and 432:

    изменение порядка

  • Page 433 and 434:

    смесь байтов Значе

  • Page 435 and 436:

    отпразднуем наши р

  • Page 437 and 438:

    69 73 6е 27 74 20 74 68 69 73 20 6

  • Page 439 and 440:

    построение дампа д

  • Page 441 and 442:

    часто задаваемые в

  • Page 443 and 444:

    решение упражнения

  • Page 445 and 446:

    мобильные программ

  • Page 447 and 448:

    вопреки правилам В

  • Page 449 and 450: арахисовая карамел
  • Page 451 and 452: никто не ожидал, чт
  • Page 453 and 454: генеалогия исключе
  • Page 455 and 456: обработка исключен
  • Page 457 and 458: сделаем перерыв Ча
  • Page 459 and 460: непредсказуемость
  • Page 461 and 462: сомнительные делиш
  • Page 463 and 464: плывем по течению Р
  • Page 465 and 466: убери за собой Ключ
  • Page 467 and 468: исключения как при
  • Page 469 and 470: что мусор для одног
  • Page 471 and 472: наборы блоков catch О
  • Page 473 and 474: ваше собственное и
  • Page 475 and 476: небольшой обзор publi
  • Page 477 and 478: небольшое предупре
  • Page 479 and 480: упущенные возможно
  • Page 481 and 482: несколько предложе
  • Page 483 and 484: решение упражнения
  • Page 485 and 486: 11 с о б ь Ш 1и я и д е
  • Page 487 and 488: события и делегаты
  • Page 489 and 490: события и делегаты
  • Page 491 and 492: события и делегаты
  • Page 493 and 494: Часто З а д а в а е м
  • Page 495 and 496: события и делегаты
  • Page 497 and 498: события и делегаты
  • Page 499: события и делегаты
  • Page 503 and 504: Запустите программ
  • Page 505 and 506: события и делегаты
  • Page 507 and 508: события и делегаты
  • Page 509 and 510: события и делегаты
  • Page 511 and 512: события и делегаты
  • Page 513 and 514: события и делегаты
  • Page 515 and 516: события и делегаты
  • Page 517 and 518: события и делегаты
  • Page 519 and 520: 12 обзор и преДБа]=пх
  • Page 521 and 522: обзор и предварите
  • Page 523 and 524: о б з о р и п р е д в а
  • Page 525 and 526: о б з о р и п р е д в а
  • Page 527 and 528: о б з о р и п р е д в а
  • Page 529 and 530: М ет од M atkA bsO вычис
  • Page 531 and 532: о б з о р и п р е д в а
  • Page 533 and 534: о б з о р и предвари
  • Page 535 and 536: о б з о р и п р е д в а
  • Page 537 and 538: о б з о р и п р е д в а
  • Page 539 and 540: о б з о р и п р е д в а
  • Page 541 and 542: ^ з ь м и в руку кара
  • Page 543 and 544: о б з о р и п р е д в а
  • Page 545 and 546: Если у вас не получ
  • Page 547 and 548: Эт о выход. Когда ул
  • Page 549 and 550: о б зо р и п р е д в а
  • Page 551 and 552:

    о б з о р и п р е д в а

  • Page 553 and 554:

    о б зо р и п р е д в а

  • Page 555 and 556:

    о б з о р и п р е д в а

  • Page 557 and 558:

    о б зо р и п р е д в а

  • Page 559 and 560:

    о б з о р и п р е д в а

  • Page 561 and 562:

    о б з о р и п р е д в а

  • Page 563 and 564:

    р е ш е н и е у п р а ж

  • Page 565 and 566:

    \сод p r i v a t e v o i d o p e

  • Page 567 and 568:

    в е зд е о б ъ е кт ы

  • Page 569 and 570:

    к а к м и л о ! Анимир

  • Page 571 and 572:

    з а м е ч а т е л ь н о

  • Page 573 and 574:

    у п р а в л я е м г р а

  • Page 575 and 576:

    \шг \же \щг /ш\ Уш\ / П

  • Page 577 and 578:

    п о л ь з о в а т е л ь

  • Page 579 and 580:

    у д а л е н и е э л е м

  • Page 581 and 582:

    создание элементов

  • Page 583 and 584:

    вот что вы будете д

  • Page 585 and 586:

    начнем! Это элем ен

  • Page 587 and 588:

    цветы рисуются при

  • Page 589 and 590:

    соединим все вмест

  • Page 591 and 592:

    что-то не так Тести

  • Page 593 and 594:

    нехватка ресурсов

  • Page 595 and 596:

    подробно о графике

  • Page 597 and 598:

    методы создания гр

  • Page 599 and 600:

    рисуем картинку Ри

  • Page 601 and 602:

    как это выглядит? в

  • Page 603 and 604:

    выглядит прекрасно

  • Page 605 and 606:

    вернемся к события

  • Page 607 and 608:

    как работает событ

  • Page 609 and 610:

    что это за мерцание

  • Page 611 and 612:

    сглаживание анимац

  • Page 613 and 614:

    перестраиваем визу

  • Page 615 and 616:

    решение упражнения

  • Page 617 and 618:

    вывод графических

  • Page 619 and 620:

    вывод мира ^ажнение

  • Page 621 and 622:

    решение упражнения

  • Page 623 and 624:

    мини-л0боратория А

  • Page 625:

    O b je c tv ille Home of

  • Page 628 and 629:

    смерть объекта c l a s

  • Page 630 and 631:

    это твое последнее

  • Page 632 and 633:

    смерть объекта Ког

  • Page 634 and 635:

    о П одклю чите две д

  • Page 636 and 637:

    смерть объекта Сер

  • Page 638:

    Может пи метод заве

  • Page 641 and 642:

    создаем копию Знач

  • Page 643 and 644:

    1 ^ з ь м и в руку кар

  • Page 645 and 646:

    не ограничивайте м

  • Page 647 and 648:

    ссылки по запросу М

  • Page 649 and 650:

    необязательные арг

  • Page 651 and 652:

    почувствуй вкус на

  • Page 653 and 654:

    надежность структу

  • Page 655 and 656:

    расширь это Помнит

  • Page 657 and 658:

    лучше быстрее силь

  • Page 659 and 660:

    капитан жив! ^ а Г н

  • Page 661 and 662:

    решение ребуса і^еї

  • Page 663 and 664:

    дьявол в деталях Пр

  • Page 665 and 666:

    UNQ для спасения Сбо

  • Page 667 and 668:

    простые запросы Пр

  • Page 669 and 670:

    это не sql Д н а щ о М

  • Page 671 and 672:

    вот почему джимми л

  • Page 673 and 674:

    небольшой обзор КЛ

  • Page 675 and 676:

    а вы поклонник LINQ? П

  • Page 677 and 678:

    Сгруппируем резуль

  • Page 679 and 680:

    последний ребус в б

  • Page 681 and 682:

    свой парень Джимми

  • Page 683 and 684:

    соберем все вместе

  • Page 685 and 686:

    ключевое слово var К

  • Page 687 and 688:

    это всё, ребята Сое

  • Page 689:

    Эндрю Стиллмен, Дже

Веб-Антивирус
TeamFundationServerFarsiEdition
Record of Agarest War 2: Heroines Visual Book
mostanado farhang (2).indd
№2 (62) — ЖУРНАЛ "ТРУБОПРОВІДНИЙ ТРАНСПОРТ", 03-04.2010
2. Upraszczając
Holganix Catalog 2-C final
Николаева, Е. А. Ог-огедлы ӟечен. 2-тӥ люкет.
c/o mot 2/1980 - Audi 100
Język C++. Szkoła programowania. Wydanie VI
Page 1 Page 2 c T kE the Tectonicsfa ko Who Needs Geology ...
Page 1 Page 2 7. o 5 e 9 S 6 a 2 C 9 9 N. 2 m 1 4 C 4 a + n s .I h. d a ...
Page 1 Page 2 Page 3 'TRIBUTE 1'0 GREER W Y I- O O H C S W E ...
Page 1 Page 2 O v_ . C ~ M E O T S U F O Z Z _ ALBERO _ ...
Page 1 DSS 9000 _im 't c à cs RADIO Liv. AM/FMÍSSBÍCW Page 2 i ...
CATALOGO MIA MODAS C-2
THUTO EA 2 - C-Hub
Nxabega 2, 2010 - Capt. Gregory C. Daley
rp girls vol 2 -4rs - C-Hub
C-nyt 2. udgave 2011 - Konservativ Folkeparti
Page 1 Page 2 AA. Aaaiinii. I`.I`. E|1iiiinH,i\.C. lln..iniiii. ltiii.:i.iiiiii.i_ ...
Page 1 Page 2 HIB 'film AHI Illini!! war 197'. C I 'You SUMMER“ 'SEI ...
Page 1 Page 2 OD 'Irsi\lut\ C:1?5815 H:1?SETE» Yrl'iėßû K:175345 ...
Page 1 Page 2 Page 3 s - - . - x . - - - - s c n - - e ...
Page 1 Page 2 Cマラソンを愛する皆さんへ ...
Page 1 Page 2 Page 3 Musat rstian @I Chr' WW m d Page 4 C ...
Page 1 G D L A T A C T C U D 0 _H D. »I _..l D 2 'viking Tecnica, Ine ...
Page 1 Page 2 Y R O T B H D N A V. G O |_ O E H C R A OF GUAM ...
bilgeadam-c-kitabi
bilgeadam-c-kitabi