Maskinistens Twitter-flöde  Stöd Maskinisten via Patreon  Maskinistens nätverk - information på svenska  Maskinistens nätverk - information på finska  Maskinistens nätverk - information på norska  Maskinistens nätverk - information på danska  Maskinistens nätverk - information på isländska
Forumindex

ForumindexForumindexMaskin-databasFotoalbumKalender-informationKöp & SäljDownloadsLexikonKontaktregisterCrimedatbase

Åkerman-register
Visa forum för mobila enheter

ForumindexDiverseSnick SnackDatorer/telefoner, hård- och mjukvara

C#

72 inlägg • Sida 5 av 5
Snacka datorer och telefoner i detta forum.

Ulf (trådstartaren)

#61 » 15:20:49, 08-11-2019
  • Överför markerat ord till lexikonet

Förresten, jag såg att jag hade en traverserare, det borde ju heta hopparuntare på svenska...
Kommer du med problem, eller är du en del av det?
Användarvisningsbild
Ulf
Fler än 500 inlägg
 
Blev medlem: 16:04:18, 05-03-2004
Ort: Kil
Maskintyp: Traktor
Maskin: Nuffield 460 -61



Towil

#62 » 15:45:34, 08-11-2019
  • Överför markerat ord till lexikonet

Ingen som gjort detta innan?
Användarvisningsbild
Towil
Moderator
Moderator
 
Blev medlem: 20:00:40, 18-08-2007
Ort: Nybro
Sverige

Ulf (trådstartaren)

#63 » 16:01:07, 08-11-2019
  • Överför markerat ord till lexikonet

Jag hittade ett exempel på en generell wrapper klass som kanske skulle kunna fungera, men helt säker är jag inte.
Det skulle bli en hel del handpåläggning iaf.

Men det jag har nu fungerar utmärkt.

Det finns lite småsaker kvar.

Jag måste säga att reflection funkar riktigt bra och är relativt lätt att pyssla med.

Även om det blev mycket knackande så har jag lärt mig massor! Det är värt en hel del!
Kommer du med problem, eller är du en del av det?
Användarvisningsbild
Ulf
Fler än 500 inlägg
 
Blev medlem: 16:04:18, 05-03-2004
Ort: Kil
Maskintyp: Traktor
Maskin: Nuffield 460 -61

JD400

#64 » 17:59:05, 08-11-2019
  • Överför markerat ord till lexikonet

Tänk på att reflection kan vara en prestandadödare. Gör pestandatester med dina förväntade datamängder.
JD400
Fler än 500 inlägg
 
Blev medlem: 18:34:03, 08-10-2007
Ort: Dalarna
Maskintyp: Traktorgrävare
Maskin: JD400

Ulf (trådstartaren)

#65 » 23:45:23, 08-11-2019
  • Överför markerat ord till lexikonet

Jo, jag vet.
Där det är större datamängder används som regel inte reflection. Men i det jag kör så funkar det utan märkbar påverkan till ett par tusen rader.

Och i det här senaste så är det när enstaka trädnoder i en rapportbeskrivning så det går snabbare än en grisblink!

Jag lyckades även att få min treview att hantera flera valda noder och gemensamma parametrar såsom y-positionen kan sättas på flera noder samtidigt. Språket och en del klasser imponerar, vilket man inte kan säga om visual studio.
Kommer du med problem, eller är du en del av det?
Användarvisningsbild
Ulf
Fler än 500 inlägg
 
Blev medlem: 16:04:18, 05-03-2004
Ort: Kil
Maskintyp: Traktor
Maskin: Nuffield 460 -61

Ulf (trådstartaren)

#66 » 15:03:22, 12-11-2019
  • Överför markerat ord till lexikonet

Och "vips" så visas resultatet visuellt i eget fönster...
Kommer du med problem, eller är du en del av det?

1 person gillar det här inlägget.
Användarvisningsbild
Ulf
Fler än 500 inlägg
 
Blev medlem: 16:04:18, 05-03-2004
Ort: Kil
Maskintyp: Traktor
Maskin: Nuffield 460 -61

Ulf (trådstartaren)

#67 » 16:14:30, 22-11-2019
  • Överför markerat ord till lexikonet

Fann en sak i C# som förundrar många.
Private är är ju att tex en property är just privat, dvs ingen annan än själva klassen ska komma åt propertyn.
Men tänk följande enkla klass med en public property som har en privat setter:
Kod: Markera allt
public class myclass
{
   public int MyProp { get; private set; }
}


Mha reflection går det att ändra på propertyn utanför klassen! :ohnej:

Fast det kan ju vara rätt praktiskt ibland, undras just om det är tänkt så, eller att det bara blev så? :klia:

Kontrollen, sker den före själva kompileringen? :klia:
Kommer du med problem, eller är du en del av det?
Användarvisningsbild
Ulf
Fler än 500 inlägg
 
Blev medlem: 16:04:18, 05-03-2004
Ort: Kil
Maskintyp: Traktor
Maskin: Nuffield 460 -61

tortap

#68 » 19:41:25, 22-11-2019
  • Överför markerat ord till lexikonet

Ööh. Jag fattar inte. Hur skulle det annars funka? Sätter man den public låter man vem som helst ändra den utanför klassens egna metoder.
tortap
Fler än 500 inlägg
 
Blev medlem: 20:17:31, 08-04-2016
Ort: Norrland
Maskin: Volvo BM 4300, MF 30, Maho MH300C

JD400

#69 » 20:13:39, 22-11-2019
  • Överför markerat ord till lexikonet

Kontrollen måste väl ske i runtime tänker jag?

En public property med private setter är ju i princip en read only property.
JD400
Fler än 500 inlägg
 
Blev medlem: 18:34:03, 08-10-2007
Ort: Dalarna
Maskintyp: Traktorgrävare
Maskin: JD400

Ulf (trådstartaren)

#70 » 08:04:07, 23-11-2019
  • Överför markerat ord till lexikonet

Den borde ju ske i runtime...
@tortap i c# kan du göra så att själva propertyn är publik men settern är privat. Tanken är då att du bara ska kunna sätta värdet inifrån klassen.
Det som är ombyggda underligt är att man kan ändra den ändå mha reflection.

Undrar just hur niffty saker man kan göra med detta, eller ställa till med...
Kommer du med problem, eller är du en del av det?
Användarvisningsbild
Ulf
Fler än 500 inlägg
 
Blev medlem: 16:04:18, 05-03-2004
Ort: Kil
Maskintyp: Traktor
Maskin: Nuffield 460 -61

tortap

#71 » 09:43:29, 23-11-2019
  • Överför markerat ord till lexikonet

Avslöjar kanske hur lite jag rört c# :D

Får man göra ett field och implementera get/set uttryckligen för att uppnå det man förväntar sig?
tortap
Fler än 500 inlägg
 
Blev medlem: 20:17:31, 08-04-2016
Ort: Norrland
Maskin: Volvo BM 4300, MF 30, Maho MH300C

JD400

#72 » 10:49:13, 23-11-2019
  • Överför markerat ord till lexikonet

Man kan göra på många olika sätt. Det allra enklaste är att bara göra ditt field (medlemsvariabel) public. Men det är inte att rekommendera då man inte kan kontrollera åtkomsten.

Därför är rekommendationen i C# numera att göra dina medlemsvariabler åtkomliga via properties med en getter och setter. Då kan man styra åtkomsten och lägga in kontroller på att värden sätts på ett tillåtet sätt och till och med göra en property "read only" utanför klassen som i Ulfs exempel.

Åtminstone om man använder Visual Studio som kodeditor så kommer den hjälpa dig att skriva en property med enklaste getter och setter (en auto implemented property) med några få knapptryckningar. Bakom kulisserna skapas då också en medlemsvariabel för att hålla värdet för propertyn. (Det syns också i Ulfs exempel där det inte finns nån medlemsvariabel i koden för att hålla värdet, men bakom kulisserna finns den ändå där)
JD400
Fler än 500 inlägg
 
Blev medlem: 18:34:03, 08-10-2007
Ort: Dalarna
Maskintyp: Traktorgrävare
Maskin: JD400


Återgå till Datorer/telefoner, hård- och mjukvara

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 3 gäster



Älmeboda Maskinservice

OilQuick

TK Traktordelar

Klaravik

Crazyride

Bra Verktyg

Motrab

Engcon

Scandcut

Astrak

Olsson Parts

Nya och begagnade
truckar på vstruck.se