21. september 2005 - 14:46Der er
31 kommentarer og 1 løsning
Oversættelse af kode fra VB til C#
Har selv prøvet på at oversætte følgende kode men det er ikke lige lykkedes for mig. Håber i kan hjælpe mig!
Dim Mapper As New SortedList Mapper.Add("0", "Vælg") For Each Dir As String In My.Computer.FileSystem.GetDirectories(Server.MapPath("Bruger")) Mapper.Add(Dir, Dir) Next Mapper.Add("Ny", "Ny Mappe") DropDownList1.DataSource = Mapper DropDownList1.DataValueField = "Key" DropDownList1.DataTextField = "Value" DropDownList1.DataBind()
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
DirectoryInfo[] directories = new DirectoryInfo(Server.MapPath("Bruger"))).GetDirectories(); bliver til DirectoryInfo[] directories = new DirectoryInfo(Server.MapPath("Bruger")).GetDirectories();
My er et nyt VB namespace der er til rådighed i version 2.0 der bliver frigivet i starten af november, og Computer er en ny VB klasse der ligeledes er introduceret med version 2.0.
Det oprindelige kodeeksempel er derfor fint nok, hvis man koder i VB og har installeret V 2.0 - det er out-of-the-box features. Kommentaren 21/09-2005 15:05:45 er en henvisning lidt diskussion omkring det at referere Microsoft.VisualBasic.DLL i sine C# projekter for at få adgang til My.
Prøvede lige at lægge koden ind på en ny side og der virker det. Det har åbenbart noget at gøre med de andre ting jeg har på siden.
void Page_Load(object sender, EventArgs e) { string[] test = {"hej","med","dig"}; billedKategori.DataSource = test; billedKategori.DataBind(); } gør ingenting på min side men virker fint på en ny side
får du overhovedet kørt din page_load på den oprindelige side? mvh enten skal du i dit pagedirective have AutoEventWireUp="true" eller AutoEventWireUp må ikke stå der eller have sådan en her i din code-behind: this.Load += new System.EventHandler(this.Page_Load);
using System; using System.IO; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Imaging; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Text; using System.Text.RegularExpressions;
namespace Stardeveloper.UploadImage { public class UploadForm : System.Web.UI.Page { public const int MaxWidth = 300; public const int MaxHeight = 300;
public const int MinSize = 5 * 1024; public const int MaxSize = 20 * 1024;
public const int ThumbnailWidth = 150; public const int ThumbnailHeight = 150;
UploadImageWithSizeRestrictions(file.PostedFile); UploadImageWithDimensionRestrictions(file1.PostedFile); UploadImageWithNoRestrictions(file2.PostedFile); } else { message.Attributes.Add("align", "center"); AppendMessage("Vælg en fil der skal uploades."); }
//Find undermapper og tilføj dem til dropdown listen // SortedList Mapper = new SortedList(); Mapper.Add("0", "vælg"); DirectoryInfo[] directories = new DirectoryInfo(Server.MapPath("uploaded_images")).GetDirectories(); foreach (DirectoryInfo dir in directories) { Mapper.Add(dir.Name, dir.Name); } Mapper.Add("Ny", "Ny mappe");
#region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); }
/// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } }
Er ikke helt sikker på hvad du mener men jeg har ændret CodeBehind til CodeFile i pagedirective og tilføjet "partial" til public partial class UploadForm : System.Web.UI.Page
Compiler Error Message: CS0102: The type 'Stardeveloper.UploadImage.UploadForm' already contains a definition for 'message'
Source Error: Line 27: public const int ThumbnailHeight = 150; Line 28: Line 29: protected HtmlGenericControl message; Line 30: Line 31: protected HtmlInputFile file;
er du usikker på hvad jeg mener med "debugger" eller?
du klikker bare i det grå område til venstre for if(IsPostBack) i page_load, og trykker på F5. du kan og sætte breakpoints ind med F9 istedet.... bare stil den på den linie du vil stoppe ved.
du skal kommentere de her ud, hvis du vil kunne køre det.
Har kommenteret de 4 linier ud og sat breakpoints ind. Følgende fejlmeddelelse kommer:
Warning 1 The type 'Stardeveloper.UploadImage.UploadForm' in 'd:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Temporary ASP.NET Files\upload image\2f792a8e\7eb5bd94\o2cmaett.0.cs' conflicts with the imported type 'Stardeveloper.UploadImage.UploadForm' in 'd:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Temporary ASP.NET Files\upload image\2f792a8e\7eb5bd94\assembly\dl3\85cad50d\00552f83_83fbc201\uploadimghd.DLL'. Using the one in 'd:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Temporary ASP.NET Files\upload image\2f792a8e\7eb5bd94\o2cmaett.0.cs'. d:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Temporary ASP.NET Files\upload image\2f792a8e\7eb5bd94\o2cmaett.0.cs
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.