この間本を読んではっとしました。 自分の中ではまったく違和感なく使えていた 表現なんですが、日本の英語教育では あんまり出てこない表現として、「pretty」があるな、と。 「可愛い」という意味のprettyなら、中学生でも 知ってるかもしれません。 が、たとえば、「That's pretty tough!」などという表現をよく 聞くのですが、これはどうなるでしょう? 「それは可愛いタフガイだ!」? いえいえ。この副詞的な使い方の場合、単純に「very」 の意味です。つまり「That's very tough!」と同様です。 「そいつは結構難しいな!」とかそういう感じです。 口語では結構使われるので、この表現を使うと若干自然な会話っぽく なるかもしれません。
少し前に、再起呼び出しがないPGMでなぜか
StackOverflowExceptionが発生した。
コードを少し眺めたが、処理の流れがループするような
箇所が見当たらない。
仕方がないので、VisualStudioでステップ実行したところ、
あるクラスのプロパティ取得の箇所でループしていた。
で、よく見ると微妙に間違ってました・・・・。
プロパティで自分自身を参照するようなロジックを入れてしまうと、その処理が無限ループし、
StackOverflowException が発生してしまう。
特にオブジェクトなどで、先頭が大文字/小文字で
public・privateを判別している場合などに間違いやすいので注意したい。
やっぱprivateな変数には「_」(アンダースコア)つけた方がいいのかなぁ。
例:
public string SQLConnectionString
{
get
{
if(SQLConnectionString == null)
↑自分のプロパティを参照してしまっている。(本来なら、strSQLConnectionStringを指定するはずだった)
{
strSQLConnectionString = getConfigValue("SQLConnectionString");
}
return strSQLConnectionString;
}
}
普通にJpegなどの画像をASP.NETで動的に生成して、 Responseとして返す場合は、 using(Bitmap bmp = new Bitmap(intWidth,intHeight)) //略 //JPEG形式で描画 Response.ContentType = "image/JPEG"; bmp.Save(Response.OutputStream,ImageFormat.Jpeg); というコーディングで可能だが、PNG形式にしたくてこれを bmp.Save(Response.OutputStream,ImageFormat.Png); と変えただけで、"A generic error occurred in GDI+. "とか言われてエラーになる。 色々ググった結果、解決策を示したサイトを発見。 ちゃんと理由も説明されている。そのサイトによると、 MemoryStream ms = new MemoryStream(); esponse.ContentType = "image/PNG"; bmp.Save(ms,ImageFormat.Png); ms.WriteTo(Response.OutputStream); こんな感じで、いったんMemoryStreamに格納してから Responseするとうまくいくらしい。