2016-03-21 15 views
-2

ファイルの拡張子に基づいてアイコンを表示したいと思います。font-awesomeクラスへのC#ファイル拡張子

FILENAME.XLS>は< Iクラス= "FA FA-ファイル・エクセル-O" になる</i>の

クラスで私は(例えば.xls)拡張子を抽出するためにメソッドを呼び出しますメソッドは、fa-file-と-oの間で設定できるフルネーム(例えばexcel)を私に提供します。仕事を手助けできるものは何も見つかりませんでした。 jQuery関数が見つかることがあります:

function GetAttachmentClass(extension) { 
    var classes = new Array ('avi','bmp','css','doc','gif','htm','jpg','js','mov','mp3','mp4','mpg','pdf','php','png','ppt','rar','txt','xls','xml','zip'); 

    if (jQuery.inArray(extension, classes) < 0) { 
     return 'unknown'; 
    } 
    else { 
     return extension; 
    } 
} 

これは私が必要とするものではありません。メソッド内でC#にする必要があるので、私は何か似たようなことをするたびにこの関数を再利用することができます。これまで

私の方法:あなたの方法は、jQueryのメソッドが何をやりたい場合は

private void GetAttachmentClass(string extension) 
{ 
    string[] classes = new string[] {"avi", "bmp", "css", "doc", "gif", "htm", "jpg", "js", "mov", "mp3", "mp4", "mpg", "pdf", "php", "png", "ppt", "rar", "txt", "xls", "xml", "zip" }; 
    if (classes.Contains(extension)) 
    { 

    } 

} 
+0

のようなメソッドを呼び出すことができます。 –

+0

拡張機能を渡してカスタムアイコンを表示したいのですか?または、あなたが.htmを渡すときにメソッドが 'html page'のようなものを返すようにしたいですか? – Jay

答えて

0

が、これは動作します:それは中に存在する場合、これは、拡張子を返します

private string GetAttachmentClass(string extension) 
    { 
     string[] classes = new string[] {"avi", "bmp", "css", "doc", "gif", "htm", "jpg", "js", "mov", "mp3", "mp4", "mpg", "pdf", "php", "png", "ppt", "rar", "txt", "xls", "xml", "zip" }; 
     if (classes.Contains(extension)) 
     { 
      return extension; 
     } 

     return "unknown"; 
    } 

配列、またはそうでない場合は 'unknown'です。

あなたが名に拡張子をマップしたい場合は、あなたが返すようにしたい拡張子と名前を含む辞書を設定することができます。

private string GetAttachmentClass(String extension) 
{ 
    Dictionary<string,string> extensionTypes = new Dictionary<string,string> 
    { 
     {"htm", "HTML Page"}, 
     {"xls", "Excel"} 
    }; 

    if(extensionTypes.ContainsKey(extension)) 
    { 
     return extensionTypes[extension]; 
    } 
    return "unknown"; 
} 

これは値を返す、または「不明」になる場合拡張子は辞書には存在しません。 xlsはExcelを返します。

必要に応じて値を設定できます。

-1

あなたはファイルの抽出のアイコンをしたい場合は、このようなものを使用することができます

var icon = Icon.ExtractAssociatedIcon(@"d:\1.png"); 

This is MSDN article for this method.

1

あなたがやろうとしているか明確になったが、ここで延長にあなたをチェックする方法ではないですが検索しました。

 using System.IO; 

    private static void DisplayIcon(string extension) 
    { 
     string extensionArray = { "avi", "bmp", "css", "doc", "gif", "htm", "jpg", "js", "mov", "mp3", "mp4", "mpg", "pdf", "php", "png", "ppt", "rar", "txt", "xls", "xml", "zip" }; 

     var ext = System.IO.Path.GetExtension(""); 

     for (int i = 0; i < extensionArray.Count(); i++) 
     { 
      if (extensionArray[i].Equals(extension)) 
      { 
       // Appropriately return extension here 
      } 
     } 
    } 

そして、あなたは辞書内のクラス名に拡張子を格納し、この

DisplayIcon(Path.GetExtension(@"C:\myFile.xlsx")); 
関連する問題