|
Re: Keeping the order of custom attributes Dear Nicholas,
Thank you a lot.
Do I have any chances to generate these ordinals automatically? Or validate its order at runtime while debug build is executed?
It looks like StackFrame.GetFileLineNumber method will not help here...
-- dmitry
"Nicholas Paldino [.NET/C# MVP]" <mvp@xxxxxx> wrote in message news:96B435C6-69DC-44BD-819E-682C1AA079BF@xxxxxx
Dmitry,
No, it isn't. However, if you are using LINQ, you can do so by exposing a property through the attrbitute which exposes the 1, 2, 3, 4, and then ordering on that property.
--
- Nicholas Paldino [.NET/C# MVP]
- mvp@xxxxxx
"Dmitry Nogin" <dmitry.nogin@xxxxxx> wrote in message news:C8A856F5-D61B-484E-918C-F12A77265B60@xxxxxx
Hi,
Is it possible to make the C# compiler to keep the order of Custom attributes as it is in the source file?
For example, I've got the following output from the code snippet below: 4, 3, 1, 2
Can I preserve the original order at the moment of compilation?
[Test(1)]
[Test(2)]
[Test(3)]
[Test(4)]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
foreach (TestAttribute a in GetType().GetCustomAttributes(typeof(TestAttribute), true))
MessageBox.Show(a.Ordinal.ToString());
}
}
[AttributeUsage(AttributeTargets.Class, AllowMultiple=true)]
public class TestAttribute : Attribute
{
private readonly int _ordinal;
public TestAttribute(int ordinal)
{
_ordinal = ordinal;
}
public int Ordinal
{
get { return _ordinal; }
}
}
Thanks,
-- dmitry |