PDA

View Full Version : سوال: این کدها چیند



dorche
یک شنبه 01 شهریور 1388, 10:07 صبح
سلام

[StructLayout (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:1.0.5000.0:b77a5c561934e089/System.Runtime.InteropServices.StructLayoutAttribu te/.ctor%28System.Runtime.InteropServices.LayoutKind% 29)(LayoutKind (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:1.0.5000.0:b77a5c561934e089/System.Runtime.InteropServices.LayoutKind).Sequent ial (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:1.0.5000.0:b77a5c561934e089/System.Runtime.InteropServices.LayoutKind/Sequential), Size (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:1.0.5000.0:b77a5c561934e089/System.Runtime.InteropServices.StructLayoutAttribu te/Size:Int32)=0x24, Pack (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:1.0.5000.0:b77a5c561934e089/System.Runtime.InteropServices.StructLayoutAttribu te/Pack:Int32)=1), DebugInfoInPDB (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://Microsoft.VisualC:7.0.5000.0:b03f5f7f11d50a3a/Microsoft.VisualC.DebugInfoInPDBAttribute/.ctor%28%29), MiscellaneousBits (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://Microsoft.VisualC:7.0.5000.0:b03f5f7f11d50a3a/Microsoft.VisualC.MiscellaneousBitsAttribute/.ctor%28Int32%29)(0x41)]
internal struct _ATL_MODULE70 (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://TAPIEx.Net:1.0.3280.26017/ATL._ATL_MODULE70)
{
}

:افسرده:
یا
:افسرده:

[return: MarshalAs (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:1.0.5000.0:b77a5c561934e089/System.Runtime.InteropServices.MarshalAsAttribute/.ctor%28System.Runtime.InteropServices.UnmanagedTy pe%29)(UnmanagedType (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:1.0.5000.0:b77a5c561934e089/System.Runtime.InteropServices.UnmanagedType).U1 (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:1.0.5000.0:b77a5c561934e089/System.Runtime.InteropServices.UnmanagedType/U1))]
public unsafe bool (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:1.0.5000.0:b77a5c561934e089/System.Boolean) Accept (http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://TAPIEx.Net:1.0.3280.26017/TAPIEx.TAPICall/Accept%28%29:Boolean)()
{

}


این کدی که بالای سر توابع و ... داخل براکت نوشته می شود چیست ؟
لطفا یه توضیحی بدهید و اگر منیعی هم سراغ دارید معرفی کنید
ممنون
بای

مهدی کرامتی
یک شنبه 01 شهریور 1388, 10:56 صبح
کاربر گرامی:
1- تمام این سوال ها را می توانستید در یک تاپیک بپرسید.
2- کدهایی که شما در این 4 تاپیک نوشته اید بنظر می رسد حاصل نمایش سورس توسط Reflector از یک Dll نوشته شده به ++C و تبدیل آن به زبان #C باشد. به چیزی که Reflector به شما نشان می دهد خیلی دقت نکنید، چون در اکثر مواقع دقیق نیست.

dorche
دوشنبه 02 شهریور 1388, 18:50 عصر
1- تمام این سوال ها را می توانستید در یک تاپیک بپرسید.


می خواستم همین کارو بکنم اما یه جا دیدم چند تا سوال پرسیده و قفلش کردند
به بزرگی خودتون ببخشید
من نمی تونم به اون تاپیک ها دسترسی داشته باشم ؟



2- کدهایی که شما در این 4 تاپیک نوشته اید بنظر می رسد حاصل نمایش سورس توسط Reflector از یک Dll نوشته شده به ++C و تبدیل آن به زبان #C باشد. به چیزی که Reflector به شما نشان می دهد خیلی دقت نکنید، چون در اکثر مواقع دقیق نیست.

بله شما درست می فرمائید اما من این نمونه کدها رو در یک پروژه هم دیده بودم که اگه اونو پیدا کردم همین جا میذارم

دومآ
یه کاری که کردم با رفلکتور کدها رو خارج کردم اما هیچ خطایی نمی داد و اجرا می شد

اگه کسی اطلاعی داره ممنون
بای

dorche
دوشنبه 02 شهریور 1388, 18:59 عصر
سلام
یه چیزایی پیدا کردم برای نمونه


[Serializable]
class GraphicsList : ISerializableاین کد رو به وفور در پروژه های مختلف می بینم


[SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{

این کد هم در همون پروژه بود

اگر امکان داره بفرمائید که کل پروژه رو که 1MB هستش رو بذارم و با هم از دوستانی که راجع به این کدها اطلاعاتی دارند درخواست کمک بکنیم

dorche
چهارشنبه 04 شهریور 1388, 18:41 عصر
سلام
من یه توضیح در همین سایت پیدا کردم در این قسمت

http://www.barnamenevis.org/forum/showthread.php?t=50207&page=3

از آقای Ghalandari (http://www.barnamenevis.org/forum/member.php?u=15914) هم تشکر می کنم که یه توضیحی دادند

مطالب اون قسمت رو در اینجا هم می نویسم :

[System.ComponentModel.DataObjectMethodAttribute(Sy stem.ComponentModel.DataObjectMethodType.Insert, True)]


این کد مشخص میکند که تابعی که در BLL قرار دارد و این کد قبل از آن قرار گرفته متدی است که به منظور Insert استفاده میشود و وقتی این BLL را به DataSource نسبت میدهیم خود DataSource تشخیص میدهد که باید از این متد به منظور Insert استفاده نماید

dorche
پنج شنبه 05 شهریور 1388, 22:36 عصر
سلام

کسی اطلاعات کامل و یک مرجع نداره معرفی کنه ؟

ممنون میشم اطلاعاتتون رو شیر کنید

Amir Oveisi
جمعه 06 شهریور 1388, 02:38 صبح
این کدها Attribute هستند.

توضیحات کامل با مثال:
http://msdn.microsoft.com/en-us/library/z0w1kczw.aspx

http://www.codeproject.com/KB/cs/attributes.aspx

موفق باشید

dorche
جمعه 06 شهریور 1388, 21:57 عصر
سلام
با تشکر از bermooda (http://barnamenevis.org/forum/member.php?u=17736) راهنمایی خوبی بود :تشویق:

Sociant
شنبه 07 شهریور 1388, 00:49 صبح
یکم بحث فراتر از Attribute هست. تو پست اول کدی که گذاشته شده مربوط به تعریف نوع داده ای هست که قراره به متدی که به زبان C نوشته شده پاس داده بشه.
کد قسمت دوم هم مربوط به تبدیل نوع بازگشتی متد نوشته شده به زبان C هست

اطلاعات بیشتر رو میتونید تو زمینه C# interoperability جستجو کنین

Amir Oveisi
شنبه 07 شهریور 1388, 01:54 صبح
یکم بحث فراتر از Attribute هست. تو پست اول کدی که گذاشته شده مربوط به تعریف نوع داده ای هست که قراره به متدی که به زبان C نوشته شده پاس داده بشه.
کد قسمت دوم هم مربوط به تبدیل نوع بازگشتی متد نوشته شده به زبان C هست

تو پست اول سوال این بوده:


این کدی که بالای سر توابع و ... داخل براکت نوشته می شود چیست ؟

که در واقع Attribute مد نظر بوده و بقیه کدها در حکم یک مثال هستند.
(البته برداشت من این بود)

موفق باشید

Sociant
شنبه 07 شهریور 1388, 05:14 صبح
...که در واقع Attribute مد نظر بوده و بقیه کدها در حکم یک مثال هستند.
(البته برداشت من این بود) ...

ممنون دوست عزیز از تذکرتون

ولی منظورم از فراتر از Attribute این بود که علاوه بر اینکه مربوط به Attribute هست ، به interoperability هم مربوط میشه

جهت اطلاعات بیشتر بود

dorche
شنبه 07 شهریور 1388, 15:48 عصر
سلام
با تشکر از دوستان

اطلاعات درباره interoperability از کوجا میشه پیدا کرد ؟
اگر خودتون یه توضیحاتی دربارش بدید خیلی بهتره
یا یک سری منبع معرفی کنید

خیلی ممنون
بای

dorche
یک شنبه 08 شهریور 1388, 22:39 عصر
سلام

یک خط کد که چیزی ازش نفهمیدم اما به نظر خیلی پر محتوا می آید :

public abstract class clsBaseAdapter<T> where T : DataTable, new()
{
}

عجب کدهایی !
ممنون از جوابتون

بای

dorche
شنبه 14 شهریور 1388, 05:53 صبح
سلام
در رابطه با کدهای قبلی یک مقاله پیدا کردم
http://barnamenevis.org/forum/showthread.php?t=147752

ممنون میشم در رابطه با کدهای جدید هم یه توضیحی و راهنمایی بکونید

dorche
شنبه 14 شهریور 1388, 19:33 عصر
کسی از این کدها سر در نمیاره:متفکر: