---
title: "Standardmetod i klass"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/81922-standardmetod-i-klass"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Erik Juhlin"
published: "2003-07-13T15:23:10.000Z"
updated: "2003-07-16T09:12:43.000Z"
replies: 11
views: 371
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/81922-standardmetod-i-klass"
---

# Standardmetod i klass

## #1 — Erik Juhlin, 2003-07-13T15:23Z

Hur gör man så att en metod är standard för en klass? Som .Item är i Scripting.Dictionary...

Permalänk: https://www.webforum.nu/p/81922

## #2 — niko, 2003-07-13T15:47Z

Nu är iofs *Item* en property snarare än en metod, men iaf: 
*Tools-\>Procedure Attributes-\>Advanced-\>Tryck sedan F1, för det finns en grej som är lätt att missförstå.*.

(*Procedure Attributes* är dimmat om du inte befinner dig inne i själva klasskoden.)

Permalänk: https://www.webforum.nu/p/1108759

## #3 — Erik Juhlin, 2003-07-13T19:16Z

F1 hjälper mig inte eftersom att jag inte har MSDN installerat. Kan du istället säga hur man gör?

Permalänk: https://www.webforum.nu/p/1108870

## #4 — niko, 2003-07-13T21:40Z

OK. Du väljer din property i övre combon och sätter *Procedure ID* till *(Default)*. That's it.

(Det luriga är att det inte hjälper att kryssa i *User Interface Default*.)

Permalänk: https://www.webforum.nu/p/1108966

## #5 — Erik Juhlin, 2003-07-14T11:03Z

Tack!

Permalänk: https://www.webforum.nu/p/1109148

## #6 — Erik Juhlin, 2003-07-14T11:05Z

Hur gör man sen så att man med For Each ... In ... kan gå igenom min collection?

Permalänk: https://www.webforum.nu/p/1109150

## #7 — Nexus86, 2003-07-14T12:27Z

```
Dim Item as String

For Each Item In MinCollection
    '...
Next Item
```

Permalänk: https://www.webforum.nu/p/1109214

## #8 — Erik Juhlin, 2003-07-15T08:42Z

Men behöver jag inte ha vissa metoder i mitt collectionobjekt?

Permalänk: https://www.webforum.nu/p/1112529

## #9 — Nexus86, 2003-07-15T11:14Z

Nej. Det går att loopa igenom en collection sådär eftersom att den då använder Item som är standard i collection. :)

Permalänk: https://www.webforum.nu/p/1112595

## #10 — niko, 2003-07-15T12:44Z

> **Erik Juhlin skrev:**
>
> Men behöver jag inte ha vissa metoder i mitt collectionobjekt?

Du försöker alltså skriva en *egen* klass som uppför sig som en collection vad gäller *for - each*? Isåf är du antagligen rätt kokt, eftersom VB inte stöder klassarv. (Att skriva *Implements Collection* i klassen funkar inte heller eftersom *Collection* innehåller en metod *\_NewEnum* som inte ens är ett tillåtet metodnamn i VB.)

Du blir nog tvungen att skriva klassen i nåt annat språk: VB.NET eller C++ tex.

Permalänk: https://www.webforum.nu/p/1112629

## #11 — fredrik, 2003-07-16T08:17Z

> Isåf är du antagligen rätt kokt

Vem är det som är kokt egentligen...? :)

Jodå, visst går det att skriva egna klasser som man kan köra For...Each på...

```
Public Property Get NewEnum() As IUnknown
     Set NewEnum = myCollection.[_NewEnum]
End Property
```

Gå sen in i menyn och välj "Procedure Attributes", i ProcedureID skriver du "-4", samt så måste du klicka i "Hide this member"

myCollection är alltså ett Collection-objekt som kan innehålla referenser till dina egna klasser.

Nu kan du köra For...Each på din klass och returnera det som finns i din collection.

Permalänk: https://www.webforum.nu/p/1113052

## #12 — niko, 2003-07-16T09:12Z

> **fredrik skrev:**
>
> Vem är det som är kokt egentligen...?

Tja, denna gången var det uppenbarligen *jag*. Du har naturligtvis helt rätt. När jag själv testade så provade jag att lägga till en funktion med namnet *\_NewEnum*  (duh!), vilket naturligtvis inte går att kompilera. Tricket är att sätta *Procedure Id* till -4. Tack.

Permalänk: https://www.webforum.nu/p/1113100

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/81922-standardmetod-i-klass
