PDA

View Full Version : معادل دستور With در VB.NET به سی شارپ چی میشه؟



AmirAmiri
جمعه 28 اسفند 1388, 14:59 بعد از ظهر
سلام دوستان. معادل این دستور تو سی شارپ چی میشه؟ این دستور ماله VB.NET هستش اما نمیدونم تو سی شارپ معادلش چی چی میشه. لطفا کمک کنید.



With TextBox1
.Text = "Hello"
.Top = 100
.Left = 500
.Enable = True
.MaxLength = 20
End With

project80888
جمعه 28 اسفند 1388, 17:52 بعد از ظهر
بعضی از دستورات در VB وجود داره که معادل آن در C# نیست و بلعکس
دستور with جهت خلاصه نویسی استفاده میشه

AmirAmiri
جمعه 28 اسفند 1388, 18:39 بعد از ظهر
یعنی با استفاده از دستور using نمیشه اینکارو کرد؟

AmirAmiri
جمعه 28 اسفند 1388, 20:37 بعد از ظهر
ای بابا.... این همه برنامه نویس، این همه حرفه ای... هیچ کی چیز به این سادگی رو بلد نیست...؟؟؟؟؟؟؟؟
یعنی هیچ راهی نداره واسه اینکاری که میخوام انجام بدم؟
هیچ کس نمیتونه کمک کنه حتی در حد راهنمایی؟؟؟؟؟

Netsky
جمعه 28 اسفند 1388, 21:35 بعد از ظهر
سلام دوست عزیز .
من در برنامه هایی که کدهای ویبی رو به سی شارپ تبدیل میکنند گشتم . ولی ظاهرا اونا هم نمیتونستن with رو در سی شارپ معادل سازی کنن .

AmirAmiri
جمعه 28 اسفند 1388, 22:20 بعد از ظهر
سلام دوست عزیز .
من در برنامه هایی که کدهای ویبی رو به سی شارپ تبدیل میکنند گشتم . ولی ظاهرا اونا هم نمیتونستن with رو در سی شارپ معادل سازی کنن .
خیلی ممنونم دوست عزیز. بله این رو خودم هم امتحان کردم و چون نتیجه ای نداشت اینجا کمک خواستم.
امکان نداره که چنین چیزی تو سی شارپ نباشه. حداقل باید یک دستور جایگزین وجود داشته باشه که کاره مشابهی انجام بده. اگر واقعا سی شارپ این امکان رو نداشته باشه، باید تاسف خورد چون VB.NET خیلی خوش دست تر و قوی تر از سی شارپ عمل کرده و خیلی بیشتر روش کار شده.

من فکر نمیکنم چنین امکانی در سی شارپ وجود نداشته باشه.

Netsky
شنبه 29 اسفند 1388, 00:20 قبل از ظهر
سلام .
ولی فکر نکنم وجود داشته باشه . ( البته نظر خودمه ) .
البته وجود نداشتن یه دستور در یه زبان دلیل این نمیشه که خوش دست نباشه .

debugger
شنبه 29 اسفند 1388, 00:32 قبل از ظهر
معادل معادل این دستور که نه ولی خب شبیه اون هست

اینجا توضیح داده

http://blogs.microsoft.co.il/blogs/tamir/archive/2008/03/27/quick-faq-how-to-use-with-end-with-vb-statement-in-c.aspx

مقایسه دستورات vb.net را با سی شارپ را در اینجا ببنید

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

keivan mousavi
شنبه 29 اسفند 1388, 10:09 قبل از ظهر
فکر کنم این جوریی بشه



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Linq;

namespace WindowsFormsApplication1
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
if (defaultInstance == null)defaultInstance = this;
}

#region Default Instance
publicstaticForm1 Default
{
get
{
if (defaultInstance == null)
{
defaultInstance = newForm1();
defaultInstance.FormClosed += newFormClosedEventHandler(defaultInstance_FormClos ed);
}

return defaultInstance;
}
}

privatestaticForm1 defaultInstance;
publicstaticForm1 Default
{
get
{
if (defaultInstance == null)
{
defaultInstance = newForm1();
defaultInstance.FormClosed += newFormClosedEventHandler(defaultInstance_FormClos ed);
}

return defaultInstance;
}
}
staticvoid defaultInstance_FormClosed(object sender, FormClosedEventArgs e)
{
defaultInstance = null;
}
#endregion
privatevoid Form1_Load(object sender, EventArgs e)
{
object with_1 = textBox1;
with_1.Text = "Hello";
with_1.Top = 100;
with_1.Left = 500;
with_1.Enable = true;
with_1.MaxLength = 20;
}
}
}

Netsky
شنبه 29 اسفند 1388, 10:46 قبل از ظهر
با سلام .
با تشکر از کدی که جناب موسوی قرار دادند ولی باید بگم که فرقی نکرد . شما یه Object تعریف کردید و اونو به textbox نسبت دادید و در کد زیرش هم با همون آبجکتی که تعریف کرده بودید شروع به مقدار دهی پروپرتی ها کردید . در صورتی که میشه با نوشتن همون textbox مقدار دهی ها رو انجام بدیم .
با تشکر ...........

mn_zandy63
شنبه 29 اسفند 1388, 10:57 قبل از ظهر
سلام دوست من،
من هم با VB کار کردم و هم با C#.
مطمئن باش که همچین دستوری در C# وجود نداره.
از این دست اختلاف ها بین این دو زبان کم نیست.

البته این به معنی کمبود در C# نیست، این مربوط به اختلاف در سیاست های تیم های C# و VB.NET در مایکروسافت هست. (حداقل نظر خودشون که اینه :چشمک:)

موفق باشی

exlord
شنبه 29 اسفند 1388, 13:55 بعد از ظهر
TextBox txt = new TextBox()
{
Text = "",
Name = "",
Size = new Size()
};

SMRAH1
شنبه 29 اسفند 1388, 16:57 بعد از ظهر
سلام
1) دستوری With در VB (و فرزندانش) ،در #C معادل نداره!
2) هر زبانی نکات دستوری خودشو داره و برای اهداف همون زبان طراحی شده اند (در واقع دوستانی که بر یکی بودن VB.NET و #C تاکید می کنند ،به این نکته توجه ندارند،هر چند که در سطح اجرا ،هر دو از یک منبع اجرا می شوند).
3) راحتی یا سختی زبان،خوش دستی یا .... به خیلی پارامتر ها ،از جمله به «هدف گذاری» زبان مربوطه!
4) شبیه این تفاوت ها ،باز هم هست که اگر بخواهید،موارد دیگه ای رو هم میشه نوشت!!!!!
موفق باشید

CYCLOPS
شنبه 29 اسفند 1388, 17:42 بعد از ظهر
معادل این دستور در سی شارپ وجود نداره شاید دلیلش این باشه که خوانایی کد در صورت عدم استفاده از این دستور بیشتر هست بهترین معادل هم براش همون "پست شماره 12 (http://barnamenevis.biz/forum/showpost.php?p=936047&postcount=12)" و پاسخ دوستمون exlord (http://barnamenevis.biz/forum/member.php?u=77199) هست .

استفاده بیش از حد از این دستور در پروژه های بزرگ باعث گنگ تر شدن و کاهش خوانایی کد میشه پس بهتره در پی معادل براش نباشید . . .

موفق باشید و سال نو پیشاپیش مبارک :چشمک: