에있는 모든 피연산자 목록 매우 간단한 질문 : C#에서 모든 피연산자 목록을 얻는 방법? 예 :C#
{ "return", "break", "if", "case", "switch", ... };
더 어려운 질문 : 방법 ALL 기능 (유형, 방법)의 목록을 얻는 방법?
{ "string", "Math.Abs", "double.IsNaN", "int.ToString", ... };
나는 에 대한 인텔리 (매우 가난하고 더러운 일) 된 CodeDom 같은 것을 만들고 싶어. 따라서 사용자는 코드를 텍스트로 추가하여 소프트웨어 기능을 확장 할 수 있습니다. 나는 그에게 그가 사용할 수있는 특정한 주장을 가진 함수 몸을 제공하지만, 그는 또한 어떤 표준 함수, 예를 들면 double.ToString()
이나 Math.PI
을 사용할 수 있어야한다. 그는 RichTextEditor에 코드를 입력합니다. 그리고 구문을 쉽게 볼 수 있도록하고 싶습니다 (알려진 피연산자, 대괄호 열기, 닫는 방법, 함수 매개 변수 강조 표시).
나는 이미 단어 (매개 변수)를 강조 표시 할 수 있지만 멋지게 보이지만 모든 것을 강조 표시하는 것은 멋지다. 그리고 필자는 이것을 피연산자/펑틴/타입/메소드의리스트를 얻는 것으로 봅니다. 필자는 어떻게해야하는지 모릅니다 (모든 피연산자를 배열로 직접 입력 할 수 있습니다).
이 질문을 다시 말해야합니까? 내 IntelliSense를 만드는 방법은 무엇입니까? :-)
피씨 : 빠른 결과는 나에게도 하나의 결과를 제공하지 못했고, 실제로 내가 찾고있는 것을 공식화하는 데 문제가 있습니다.
[MSDN 명세서 키워드 (http://msdn.microsoft.com/en-us/library/xt4z8b0f.aspx). "더 어려운 질문"에 관해서는 포함 된 파일을 반영하고 어떤 유형/기능이 포함되어 있는지 확인할 수 있습니다 (실제로 그렇게하고 싶은지 전혀 모르겠지만 ...). 당신의 마지막 질문에 관해서는, "내 IntelliSence를 만드는 방법", 그건 너무 넓은 질문입니다. – tnw
피연산자의 경우 가장 쉬운 해결책은 아마도 하드 코딩하는 것입니다 (그다지 많지 않습니다). 함수 정의의 경우, 포함 된 파일을 읽고 함수를 찾기 위해 파서를 작성해야 할 필요가있을 것입니다. 이는 많은 작업입니다. – IanPudney
Roslyn을 사용하십시오. [Intellisense-Roslyn, VSTA 또는 다른 것을 사용하는 C#/VB.Net 편집기가 내장되어 있습니다.] (http://stackoverflow.com/questions/12818041/built-in-c-vb-net)의 복사본으로 닫으십시오. -editor-with-intellisense-roslyn-vsta-or-something-else) – jason