Hello Duane,<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I could not find in the bindings for these:<br><br>APPKIT_EXTERN NSString *NSFontAttributeName;                // NSFont, default Helvetica 12<br>
APPKIT_EXTERN NSString *NSParagraphStyleAttributeName;      // NSParagraphStyle, default defaultParagraphStyle<br>
APPKIT_EXTERN NSString *NSForegroundColorAttributeName;     // NSColor, default blackColor<br>etc....<br><br>How should these be exposed in the bindings?  My guess is it needs to follow the same pattern as in CTStringAttributeKey.cs with the call to Dlfcn.GetStringConstant.  Is that correct?<br>
</blockquote><div><br></div><div>This is correct.   I struggle with this because I feel that we should add support to the generator for this instead of writing this by hand every time.</div><div><br></div><div>My concern is the following: for a class that has say 200 of those APPKIT_EXTERN declarations, we have multiple options:</div>
<div><br></div><div>(a) initialize them all in the static constructor, slows down a class startup for no reason.</div><div>(b) initialize them on demand doing an open/find/close per symbol every time (expensive if you need all keys)</div>
<div><br></div><div>And it just occurred to me that what we could do is open the handle on the static constructor for the library (to avoid the GetSlowStringConstant slowness) and load the data on demand.</div><div><br></div>
<div>The remaining issue is: how do we teach the generator about these constants?</div><div><br></div><div>Perhaps a [Field] attribute applied to properties?</div><div><br></div><div>Miguel.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font color="#888888">
<br>Duane<br>
</font><br>_______________________________________________<br>
Mono-osx mailing list<br>
<a href="mailto:Mono-osx@lists.ximian.com">Mono-osx@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-osx" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-osx</a><br>
<br></blockquote></div><br>