English 中文(简体)
元数据是什么?
原标题:What is metadata in .NET?

我把几个网站推向来理解<代码>metadata。 NET及其含义。

在C# WPF桌面应用方案方面,仍然有一百万新元。 早在我进行网络规划时,就出现了以超文本表示的元件,我们用标题、关键词和这样描述该网站。 互联网应用中是否有类似之处? 我读了基,但我得到的是概念解释。

一种描述为<代码>的元数据是描述组装状况的数据,并详细描述每一类,在组装中属性。” 元数据是否只是一个概念,还是像我所描述的法典行文一样的物理样子? 如果是的话,我的赞扬是否成为我的元数据?

我读到的元数据是“Withinin in the Common Language Runtime (CLR)”,但我只在C#中写法,我如何将《CLR》中的代码输入元数据? 元数据在《刑法》中是否值得称赞? 我如何能够改变这种状况。

MSDN写道,元数据是关于另一种语文软件组成部分的元数据。 虽然只有英文的人类需要描述(建议),以了解法典中哪些内容。 软件部分只是执行我们所写的任何声明——需要“综合”信息。 汇编者如何理解我高层次的法典产生“集会描述”的含义? 如果我写出转换货币的方案,元数据是否自动生成,知道该方案正在兑换货币? 这种情报在哪里?

我完全混淆不清。

最佳回答

由于其他人已经提供了大量解释性答复,我只提及你如何看待元数据。

阁下的Micro SDK目录(很可能有改动) SDKsvilv7.0ABinNET 40,000 Tool , 有名为“条码>ildasm.exe>的节目——它穿着一种能够看到汇编成册的组装机。 NET binaries。

You can build very simple console application and use ildasm.exe to view compiled contents. View/MetaInfo/Show! command (or simply Ctrl + M) will display metadata - you can check how they look like. Part of metadata from application printing Hello to console:

TypeDef #1 (02000002)
-------------------------------------------------------
TypDefName: Program  (02000002)
Flags     : [Public] [AutoLayout] [Class] [AnsiClass] [BeforeFieldInit](00100001)
Extends   : 01000001 [TypeRef] System.Object
Method #1 (06000001) [ENTRYPOINT]
-------------------------------------------------------
    MethodName: Main (06000001)
    Flags     : [Public] [Static] [HideBySig] [ReuseSlot]  (00000096)
    RVA       : 0x00002050
    ImplFlags : [IL] [Managed]  (00000000)
    CallCnvntn: [DEFAULT]
    ReturnType: Void
    1 Arguments
        Argument #1:  SZArray String
    1 Parameters
        (1) ParamToken : (08000001) Name : args flags: [none] (00000000)

这里,请看哪类定义(Program)和其中一种方法(Main),后者采用单一输入论据,无效。 这自然只是元数据的一部分,即使对于最小的方案来说,也有很多。

问题回答

http://msdn.microsoft.com/en-us/library/xcd8txaw%28v=VS.100%29.aspx” 审视这个问题。 我希望,它将澄清许多问题。 它与解释

Reflection 元数据网是一个非常强大的概念,其依据是:http://odetocode.com/articles/288.aspx, 阅读了与实际代码一起储存的元数据/a。

元数据是来源代码本身信息的一部分,在汇编时储存在议会的一个特别部分。 这在议会结构方面确实是一个执行细节。 对典型的C#应用发展来说,你并不真的需要知道这一点。 如果你开发开发开发工具,则这主要是相关的。

“元数据”一词有些误导。 大会元数据包括像常数和直面字体等代码中的不足,从字眼的通常意义上说,这实际上不是元数据。 更正确的术语或许是不可执行的数据。

当C#汇编成一个组时,汇编产出分成两节。 IL是按编码格式实际可执行守则,是“元数据”,是所有其他方面:类型、接口和成员申报、方法签名、恒定、外部依附等等。

Take this program:

class Program
{
    public static void Main(string[] args)
    {
        var x = 2 + 2;
        Console.WriteLine("Hello World!");
    }
}

When this program is compiled into an assembly, it is separated into metadata and IL. The metadata contains these declarations (represented in a language-independent binary format):

class Program
{
    public static void Main(string[] args);
}

Furthermore metadata contains the string literal "Hello World!", and the information that the assembly references System.Console.WriteLine in mscorlib.dll.

只有这一部分被汇编成国际空间法研究所:

var x = 2 + 2;
Console.WriteLine("Hello World!");

请注意,该方法参考和字面说明作为元数据点在《国际交易日志》中体现。 另一方面,元数据中的方法申报使IL与实施计算仪的代码相挂钩。

So it comes down to a way to separate the executable (imperative) IL code from the non-executable (declarative) parts.

这一分离为什么有用? 因为它允许在不需要实际执行任何IL的情况下提取和使用元数据的工具。 例如,视觉演播室通过阅读元数据,能够向在集会上定义的成员提供完成代码。 汇编者可以核实,其他集会所要求的方法实际上已经存在,参数相应。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...