webForumDet fria alternativet

vb.net en aspx-sida som ärver.

.NET

9 svar · 542 visningar · startad av trashhash

Medlem sedan apr. 200730 inlägg
Frågan#1

Jag tror att i C# kan man skriva så här

Partial Class Cykel : Fordon då cykel är cykel.aspx.vb.

Jag vill kunna skapa en klass (B) som som ärver från en annan klass (A). I B måste man implementera alla metoder som finns i A.

I Java kallas det för interface. Vad är syntaxen för vb?

Medlem sedan dec. 20014 239 inlägg
#2

Google gav: http://www.google.se/search?sourceid=navclient&hl=sv&ie=UTF-8&rlz=1T4GFRC_svSE218SE218&q=interface+vb.net

Första länken beskriver hur man implementerar interface.
Kan det vara det du söker?

Medlem sedan apr. 200730 inlägg
#3

Ja, precis. Vet du om det går att lägga kod i interface så att den koden körs varje gång?

Medlem sedan dec. 19996 522 inlägg
#4

Ett interface är ett kontrakt över funktionalitet och inte arv. Interface säger bara att klassen som implementerar det måste implementera allt som interfacet definierar. Du får kolla in abstrakta klasser och abstrata metoder tillsammans med virtual. Vet inte vad det heter i VB. I ditt fall om du har fordon skulle jag hellre implementera det med arv och inte interfaces för att få en korrekt modell. En abstrakt basklass Fordon och subklass Cyckel som ärver av Fordon. Ett interface kan inte innehålla kod som ska köras

Vad är det för metod du vill köra? Eller för beteende du vill påtvinga

Medlem sedan dec. 19996 721 inlägg
#5

Om du kan Java så tycker jag att du ska välja C#, och hålla dig ifrån VB.NET.

Medlem sedan apr. 200730 inlägg
#6

Zaiman du har rätt, interface är fel ord av mig. Det jag vill komma åt är i min aspx-lösning ska alla xxxxx.aspx.vb sidor ärvar en eller flera metoder från en Basklass. Helst ska koden ligga i basklassen. Kort sagt, jag har en typ av kod som kommer att köras på flera ställen, jag vill köra den koden från ett ställe. Så Page is basklassen är egentligen respektive sidas Page i runtime.

Är ni med?

C# / VB, Tomäto tomato.

Medlem sedan dec. 19996 522 inlägg
#7

Ja då är väll ett enkelt arv det enklaste, och sidorna som ärver från din basklass. Är det en metod som beror på din basklass eller på sidorna som ärver den? Du når ju dina metoder i basklassen från de som ärver av den.

Först och främst har du din BasPage: Page (ärver från Page), sen alla dina andra sidor som ärver från BasePage

Medlem sedan nov. 20014 054 inlägg
#8
Public Class Cykel
  Inherits [Namespace].Fordon
  ' ... mer kod... 
  MyBase.Start() ' <- metod från superklassen, dvs från Fordon. 

End Class

[namespace], det namespace som fordon finns i, ex Business eller Base eller vad man nu kallat det! :)

Medlem sedan apr. 200730 inlägg
#9

Men "codebehinde" sidan ärver alltid från System.Web.UI.Page. Det går ändast att ärva från en klass. Kan jag göra så att min basklass ärver från System.Web.UI.Page istället? Och på så sätt få med allt?

Medlem sedan apr. 200730 inlägg
#10

Jupp det gick bra. Tack!

255 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)