Frage : Ein subclassof HttpWebRequest verursachen

Um HttpWebRequest zu verwenden müssen Sie Form ein WebRequest als HttpWebRequest (Hoffnung sage ich den richtig) benutzen.  Ich habe eine Kategorie, die ich das verursache das HttpWebRequest bildete und meine Kategorie Methoden für das Herstellen einer PFOSTEN-Schnur hat und die Beglaubigung, um ein Plätzchen und dann einen anderen PFOSTEN mit einer Akte zu upload.

What zu ergreifen, das ich tun möchte, dieses, zu eine generischere Kategorie als Unterklasse von HttpWebRequest zu machen ist, aber ich nicht eine Unterklasse von HttpWebRequest, da das Werfen herstellen kann, von WebRequest ist, required.

Anyone können, dieses getan?
1:
2:
WebRequest Antrag = WebRequest.Create (URL);
HttpWebRequest httpreq = (HttpWebRequest) Antrag;

Antwort : Ein subclassof HttpWebRequest verursachen

Sie ableiten nicht von es n, aber konnten es einwickeln.  Ist hier ein dummes Beispiel, das Erscheinen Sie Ihre eigene Kategorie Sachen auf Ihre Art behandeln lassen können - in diesem Beispiel nimmt der Erbauer ein Domain Name und voranstellt automatisch „http://www.“ und hinzufügt „.com/“ gt (ein Verhalten zeigend, das verlängert HttpWebRequest)…

Das tatsächliche HttpWebRequest herausgestellt als Eigentum ellt, und Sie können beschließen, allgemein verwendete Funktionen und Eigenschaften wie GetResponse einzuwickeln ()…

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Net;

statisches Kategorie Programm
{
	///  
	/// der Haupteingang für die Anwendung.
	///  
	[STAThread]
	Static leere Hauptleitung ()
	{
		MyWebRequest myReq = neues MyWebRequest („Experte-austauschen“);

		MessageBox.Show (myReq.GetResponse () .ContentType);
	}
}
allgemeine Kategorie MyWebRequest
{
	privates HttpWebRequest _webRequest;

	allgemeines MyWebRequest (Schnur Adresse)
	{
		_webRequest = (HttpWebRequest) WebRequest.Create („http://www.“ + Adresse + „.com/");
	}

	allgemeiner HttpWebRequest Antrag
	{
		erhalten {Rückhol_webRequest; }
	}

	allgemeines WebResponse GetResponse ()
	{
		Rückhol_webRequest.GetResponse ();
	}
}
Weitere Lösungen  
 
programming4us programming4us