Dies ist eigentlich eine zweiteilige Frage. Entspricht der HttpContext.Current dem aktuellen System.UI.Page-Objekt?
Und die zweite Frage, die wahrscheinlich mit der ersten zusammenhängt, ist, warum ich Folgendes nicht verwenden kann, um festzustellen, ob die aktuelle Seite eine Schnittstelle implementiert:
private IWebBase FindWebBase()
{
if (HttpContext.Current as IWebBase != null)
{
return (IWebBase)HttpContext.Current.;
}
throw new NotImplementedException("Crawling for IWebBase not implemented yet");
}
Der allgemeine Kontext besteht darin, dass einige Steuerelemente wissen müssen, ob sie als SharePoint-Webpart oder als Teil eines Asp.Net-Frameworks ausgeführt werden.
Ich habe das Problem gelöst, indem ich vom Steuerelement verlangt habe, einen Verweis auf sich selbst zu übergeben und die Page-Eigenschaft des Steuerelements zu überprüfen, aber ich bin immer noch neugierig, warum das oben genannte nicht funktioniert.
Der Compilerfehler lautet: System.Web.HttpContext kann nicht über eine Referenzkonvertierung, Boxkonvertierung, Unboxingkonvertierung, Wrappingkonvertierung oder Nulltypkonvertierung in ... IWebBase konvertiert werden.